(iPhone)设置子视图的框架超出父视图的边界?

4
我注意到可以将子视图放在超出父视图的边界之外(部分或全部)。这样做是否可行,因为它似乎在通常的 iPhone 视图编程中是不正常的。
谢谢。
2个回答

8
这是可以接受的,有时甚至是常见的做法 - 滚动视图或其他“组合”视图的自定义实现通常会将对象放置或移动到超出父视图边界的位置。
您可能会对UIView属性clipsToBounds感兴趣,该属性将子视图绘制限制在父视图的边界内。

16
我认为,只有在子视图位于其父视图界限内或者至少是子视图中位于其父视图界限内的部分时,用户交互才可能发生。如果我将一个 UIButton 作为子视图添加到父视图界限外部,我将无法点击它。 - iter
这个注释简直是黄金。我因为这个“bug”快要疯了。 - Alexander Theißen

1

还要注意,当实现可访问性时,超出边界的子视图会带来问题。

可访问性框架可以正常显示,但仅在选择父级边界内的区域时才会出现。如果子视图完全超出父级边界,则只能通过打开VoiceOver并进行侧滑才能访问它。在屏幕上拖动时,只有在命中父级边界内的子视图时才会选择一个视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接