【问题标题】:iOS 7 addSubview adds additional length to my UIView, why is this?iOS 7 addSubview 为我的 UIView 添加了额外的长度,这是为什么呢?
【发布时间】:2023-03-20 16:11:01
【问题描述】:

在我的应用程序中,我在一个窗口中有一个视图控制器,可以在需要时添加一些子视图。所有子视图都使用 IBActions 和以下代码显示:

[self.view addSubview:myViewIWantToAdd];

除了一个视图之外,所有这些都以正确的尺寸和位置显示。该方法似乎在试图显示的视图的长度上增加了 20 个像素,以产生以下效果:

http://i.stack.imgur.com/th11f.png

您可以从图像中看到,底部字母拼贴在屏幕边界下方额外延伸了 20 像素。我可以通过将视图的大小从高度 568 减小到 548 来修复它。但是这样做会产生一种特殊的效果。当 UIView 的高度设置为 548 时,可触摸(用户交互)区域也减少了 20 个像素。这意味着用户不能选择底部字母拼贴的下半部分。在这个阶段我很迷茫,因为我正在实现 UIView,就像应用程序中的任何其他 UIView 一样,根本没有任何问题。我该如何解决这个问题/我做错了什么?

附:我在 iOS 6 中从未遇到过这个问题,我相信这与 iOS 7 有关。

【问题讨论】:

    标签: ios iphone ipad ios7


    【解决方案1】:

    在 ios 7 中,您的窗口位于状态栏下方,因此您的窗口高度会高出 20 点。

    您可以调整子视图的框架并设置适当的视图 autoresizingMask 属性来解决它。

    如果您想让您的应用符合 ios7 的外观,请参阅link

    【讨论】:

      【解决方案2】:

      请在您的设备上进行相同的测试。

      【讨论】:

      • 它发生在模拟器和真实设备上。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多