iphone x屏幕价格 iOS 关于全面屏适配的方案及UI在不同尺寸下适配方案(5)

电脑杂谈  发布时间:2018-11-15 12:09:20  来源:网络整理

- (void)viewDidLoad {
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor redColor];
    UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0, KStatusBarHeight, KScreenWidth, 200)];
    testView.backgroundColor = [UIColor blackColor];
    [self.view addSubview:testView];
    self.testView = testView;
}

- (void)viewSafeAreaInsetsDidChange {
    [super viewSafeAreaInsetsDidChange];
    NSLog(@"%s", __func__);

    [self updateFrame];
}

- (void)updateFrame {
    if (@available(iOS 11.0, *)) {
        CGRect newFrame = self.testView.frame;
        newFrame.origin.x = self.view.safeAreaInsets.left;
        newFrame.size.width = KScreenWidth - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right;
        self.testView.frame = newFrame;
    }
}

用frame的话,不仅低于11的系统,就连高于11的系统,要适配起横屏问题都比较麻烦。

所以笔者是趋向于用约束的,见仁见智吧。

这里再贴出两篇说SafeArea的文章。

最近很火的 Safe Area 到底是什么

笔者很久不用xib了,贴出现成的一篇文章。

iOS XIB使用Safe Area后在iOS9和10上面出现的问题和解决方案

automaticallyAdjustsScrollViewInsets:

如果你要想进入路由器,先根据路由器上的默认设置ip:192.168.1.1,在电脑网络属性中,打开网络属性,点internet协议属性,默认是自动获取ip地址,这时你点使用下面的ip地址,然后在ip地址一栏填上:192.168.1.100,子网掩码填上:255.255.255.0,默认网关填上:192.168.1.1(如果192.168.0.1,那么相对要把1改成0),把自动获取dns服务地址,改成使用下面的dns服务地址,先填成:192.168.1.1,然后点确认,电脑网络连接成功后,就可以进入路由器了,如果你想继续使用手动ip设置,进入路器后,在路由器里找到dns服务地址,然后记下来,把电脑里的dns服务地址182.168.1.1改成和路由器一样,这样一来不会影响网速了。

看下图,uinavigationcontroller有navigation bar ,navigation view ,navigation toobar等组成。

根据官方对fitssystemwindows属性的描述,当view的fitssystemwindows设置为true的时候,系统会自动为该view设置相应的padding以适应键盘、状态栏、导航栏等系统窗口,这就可以解释为什么给toolbar设置fitssystemwindows之后toolbar会自动加上paddingtop以适应状态栏,如果没有加上fitssystemwindows=true,toolbar则会有部分被状态栏覆盖。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-90192-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 郝佳佳
      郝佳佳

      你派核潜艇去是想叫人发现呢还是不想叫人发现呢

    热点图片
    拼命载入中...