zoukankan      html  css  js  c++  java
  • 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

    不需要任何处理!

  • 相关阅读:
    Linux常用快捷键
    如何Oracle 数据库备份与恢复
    Linux常用命令解释
    转摘:商业智能BI的演绎型需求和归纳型需求BI三维框架之内容维研究
    PHP中const的使用
    PHP中define的使用
    Apache配置正向代理与反向代理
    正向代理
    JAVA System.getProperty()参数
    PHP查找当前URL文件扩展名
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3656748.html
Copyright © 2011-2022 走看看