iOS 全屏布局笔记

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:```

你可能感兴趣的:(iOS 全屏布局笔记)