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

    不需要任何处理!

  • 相关阅读:
    React跨域问题解决
    PBFT性能会下降? 各种算法的对比。
    ssl证书原理
    UTXO是什么?
    以太访solidity常用的函数有哪些
    ERC720和erc721的区别
    椭圆曲线加密和rsa对比
    将pdf书籍变成横排的方法
    童年回忆(1)
    Inheritance
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3656748.html
Copyright © 2011-2022 走看看