【问题标题】:why does[[UIApplication sharedApplication] delegate].window.bound ≠ [[UIScreen mainScreen] bounds].size为什么[[UIApplication sharedApplication] delegate].window.bound ≠ [[UIScreen mainScreen] bounds].size
【发布时间】:2021-06-20 02:20:57
【问题描述】:

当我以竖屏模式进入一个应用,强制切换到横屏模式时,出现了一个问题, [[UIApplication sharedApplication] delegate].window ≠ [[UIScreen mainScreen] bounds].size:

UIWindow *keyWindow = [[UIApplication sharedApplication] delegate].window;

它们的长宽是相反的,为什么? 顺便说一句,[[UIScreen mainScreen] bounds].size 是正确的大小;

【问题讨论】:

    标签: ios objective-c iphone ios14


    【解决方案1】:

    问题是框架和边界所属的坐标系: bounds 属于视图“内部”的坐标系,而frame 属于“外部”的坐标系。

    想想CGAffineTransform:如果您旋转或缩放视图,它的框架会发生变化,但边界保持不变。

    【讨论】:

    • 对不起,我刚才的描述有误,现在问题更新了
    猜你喜欢
    • 2013-07-02
    • 2012-09-26
    • 1970-01-01
    • 2017-09-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    相关资源
    最近更新 更多