代码之家  ›  专栏  ›  技术社区  ›  Jonathan.

iPad框架宽度和高度在横向混合

  •  10
  • Jonathan.  · 技术社区  · 14 年前

    我已经完成了这个问题在这里所说的: Landscape Mode ONLY for iPhone or iPad

    (假设你想把屏幕分成3个视图,对于一个既有横向视图又有纵向视图的应用程序,你做到了view.frame.size文件.width/3,在横向中不正确,因为width值实际上不是宽度)


    这又打动了我,我也不是在用笔尖工作,有人能给出一个可以接受的答案吗?(即不需要手动切换宽度和高度)

    一旦悬赏被授予一个答案,我将开始另一个悬赏250,并奖励给同一个人。

    2 回复  |  直到 8 年前
        1
  •  24
  •   mohsenr    14 年前

    您尚未指定要查询的“视图”。假设这是窗口的顶层子视图:

    您应该查询视图的 bounds 不是它的 frame 在定义视图的坐标中(外部世界),因此在旋转时可能保持不变。 是视图及其子视图“内部”使用的坐标。当你旋转时,这确实会改变。

        2
  •  2
  •   maternaghan    14 年前
    + (int) currentWidth
    {
     UIScreen *screen = [UIScreen mainScreen];
     int width = screen.currentMode.size.width;
     int height = screen.currentMode.size.height;
     return (UIDeviceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))? MAX (width, height) : MIN (width, height);
    }