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 關注
- 730 瀏覽
添加回答
舉報