我注意到我可以将子视图放在超级视图的范围之外(部分或全部)。
我想知道这是否可以接受,因为这在通常的 iphone 视图编程中似乎是不正常的。
谢谢你。
这是可以接受的,有时甚至是常见的做法——例如,滚动视图或其他“复合”视图的自定义实现通常将对象放置或移动到超级视图的边界之外。
您可能对UIView属性感兴趣,该属性clipsToBounds
将子视图的绘制限制在父视图的范围内。
另请注意,在实现可访问性时,越界子视图会造成问题。
可访问性框架可以正常显示,但仅在触摸父级边界时选择所述框架的区域时才会出现。如果子视图完全超出父视图的范围,则只能通过打开 VoiceOver 的侧面滑动来访问它。触摸在屏幕上拖动只会在父级范围内点击所述子视图时选择一个视图。