• iOS 6 & iOS 7 的适配笔记


    iOS 6 & iOS 7 的适配

    场景1: 没有NavigationController,同时根视图是UIView
    - (void)viewWillLayoutSubviews

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
    NSLog(@"======> %f", [self.topLayoutGuide length]);
    CGFloat top = [self.topLayoutGuide length];

    // 直接修改self.view的bounds属性
    CGRect bounds = self.view.bounds;
    // 强行往下挤20个点,其它不变
    bounds.origin.y = -top;
    self.view.bounds = bounds;
    }

    可以抽成宏

    #define kIOS7_NONav_View

    - (void)viewWillLayoutSubviews

    {

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {

    NSLog(@"======> %f", [self.topLayoutGuide length]);

    CGFloat top = [self.topLayoutGuide length];

    CGRect bounds = self.view.bounds;

    bounds.origin.y = -top;

    self.view.bounds = bounds;

    }

    }

    场景2: 没有NavigationController,同时根视图是UIScrollView/UITableView
    - (void)viewDidLoad
    {
    [super viewDidLoad];

    // 根视图是一个UITableView,继承自UIScrollView
    // contentInset属性可以设置滚动视图距离边界的距离
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
    [self.tableView setContentInset:UIEdgeInsetsMake(20, 0, 0, 0)];
    }
    }

    场景3: 有NavigationController,同时根视图是UIView

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
    [self setEdgesForExtendedLayout:UIRectEdgeNone];
    }

    场景4: 有NavigationController,同时根视图是UIScrollView/UITableView

    不需要任何处理!

  • 相关阅读:
    maven
    Web开发入门
    网络编程之Socket
    自定义注解与设计模式
    数据交换格式与SpringIOC底层实现
    caffe笔记之例程学习(二)
    caffe笔记之例程学习
    ubuntu14.04 caffe环境配置
    Pattern Recognition (Fourth Edition)读书笔记之mvnrnd函数
    MIF文件编写小技巧
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3656748.html
Copyright © 2020-2023  润新知