iOS 全屏佈局筆記

weixin_34249678發表於2016-03-22

iOS7 開始,之前的就pass吧。

1 全屏佈局概念:(0.0)點的位置相關

    self.edgesForExtendedLayout = UIRectEdgeAll;// 全屏佈局的擴充方向,預設與下面設定模糊屬性有關。
    // 2016-03-22 12:56:20.438 pad[3076:864505] {{0, 0}, {375, 603}} 不擴充,會是self.view 變小,即不使用全屏佈局

    
    self.navigationController.navigationBar.translucent = YES;// bar 的模糊屬性,預設開啟,(同理還有其他bar)
    // 2016-03-22 12:54:37.673 pad[3025:855787] {{0, 0}, {375, 667}} YES,預設開啟全屏佈局,相當於又設定了上面的 All
    // 2016-03-22 12:55:11.424 pad[3049:859647] {{0, 0}, {375, 603}} NO,預設關閉全屏佈局,相當於又設定了上面的 None
    

2 LayoutGuide 相關 iOS7 提供 topGuide ,bottomGuide。iOS9 開始可以自定義Guide

    // UILayoutGuide 可以看做是一個View,在bar 存在時,它就覆蓋在上面,與bar位置大小一致!自動佈局時注意使用。
    // 簡單舉例 系統的自動佈局
    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.tableView
                                                         attribute:NSLayoutAttributeTop
                                                         relatedBy:NSLayoutRelationEqual
                                                            toItem:self.topLayoutGuide
                                                         attribute:NSLayoutAttributeBottom
                                                        multiplier:1
                                                          constant:12]];
    // (xib中拉布局時,預設就是豎直的間距,所以就是bottom開始)
    // 使用masonry自動佈局時,注意沒法直接使用 self.topLayoutGuide ,對應的是 mas_topLayoutGuide
    
    ```
    
    
## 3 對ScrollerView 的 一個調整:self.view 上第一個 ScrollerView 類時,content 往下以64px

self.automaticallyAdjustsScrollViewInsets = NO;// 預設YES:```

相關文章