3 回答
TA貢獻1825條經驗 獲得超6個贊
edgesForExtendedLayout
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
-(void)viewDidLoad
IOS 7會給布局和自定義您的外觀帶來一些更改。 UI..視圖控制器布局、色調顏色和字體的更改將影響所有 烏伊基特對象在您的應用程序中。此外,對手勢識別器API的增強為您提供了對手勢交互的更細粒度的控制。 使用視圖控制器
在IOS 7中,視圖控制器使用全屏布局.同時,IOS 7對視圖控制器的視圖布局方式提供了更細粒度的控制。特別是,全屏布局的概念已經被細化,讓視圖控制器指定其視圖的每個邊緣的布局。
這個 wantsFullScreenLayout視圖控制器屬性在IOS 7中不建議使用。 wantsFullScreenLayout = NO在iOS 7中運行時,視圖控制器可能會在意外的屏幕位置顯示其內容。
若要調整視圖控制器的視圖布局方式, UIViewController提供下列屬性:
EDgesfortendedLayout
這個 edgesForExtendedLayout屬性使用 UIRectEdge類型,它除了指定“無”和“全部”之外,還指定矩形的四個邊中的每一個。使用 edgesForExtendedLayout指定應擴展視圖的哪些邊緣,而不管條形半透明。默認情況下,此屬性的值為 UIRectEdgeAll.
擴展LayoutIncludeesOpaqueBars
如果您的設計使用不透明的條,請改進。 edgesForExtendedLayout還可以通過設置 extendedLayoutIncludesOpaqueBars財產 不..(默認值為 extendedLayoutIncludesOpaqueBars是 不.)
自動調整ScrollViewInset
如果不希望自動調整滾動視圖的內容嵌入,請設置 automaticallyAdjustsScrollViewInsets到 不..(默認值為 automaticallyAdjustsScrollViewInsets是 是.)
TopLayoutGuide,底部LayoutGuide
這個 topLayoutGuide和 bottomLayoutGuide屬性指示視圖控制器視圖中頂部或底部條邊的位置。如果條形圖應與視圖的頂部或底部重疊,則可以使用InterfaceBuilder將視圖相對于該條定位,方法是在 topLayoutGuide或者到底層指南的頂端。(如果沒有條形圖應重疊視圖,則 topLayoutGuide與視圖的頂部和 bottomLayoutGuide與視圖底部相同。)這兩個屬性都是在請求時延遲創建的。
TA貢獻1831條經驗 獲得超9個贊
-[UIViewController edgesForExtendedLayout]
[self setEdgesForExtendedLayout:UIRectEdgeNone];
TA貢獻1757條經驗 獲得超7個贊
- (void) viewDidLayoutSubviews {
// only works for iOS 7+
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect viewBounds = self.view.bounds;
CGFloat topBarOffset = self.topLayoutGuide.length;
// snaps the view under the status bar (iOS 6 style)
viewBounds.origin.y = topBarOffset * -1;
// shrink the bounds of your view to compensate for the offset
viewBounds.size.height = viewBounds.size.height + (topBarOffset * -1);
self.view.bounds = viewBounds;
}}- 3 回答
- 0 關注
- 743 瀏覽
添加回答
舉報
