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

    不需要任何处理!

  • 相关阅读:
    3月工作问题总结
    【读书笔记】linux编程艺术
    项目管理工具 Trac入门
    [node.js]开放平台接口调用测试
    mysql 高并发更新计数问题
    memcache 问题 socket or its streams already null in trueClose call
    hadoop学习笔记
    node.js学习与应用
    mc参数备忘&javajson备忘
    WCF技术剖析_学习笔记之三
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3656748.html
Copyright © 2011-2022 走看看