如何在Swift中使用Storyboard实现视图重叠
Xcode 14.2 视图叠加与TextField遮挡问题解决
核心操作步骤(Storyboard)
- 调整视图层级:在Document Outline中,将顶部叠加视图拖动到容器视图的上方,确保叠加视图的渲染层级更高。
- 设置约束:
- 给顶部叠加视图设置
leading/trailing约束到父视图(或安全区),top约束到安全区顶部,同时设置固定高度。 - 给下方容器视图设置
leading/trailing/bottom约束到父视图,top约束到叠加视图的bottom,并添加合适的间距(比如8pt)。 - 将TextField添加到叠加视图内部,设置它的
leading/trailing/top/bottom约束到叠加视图的内边距(比如各留16pt),确保TextField完全处于叠加视图的边界内。
- 给顶部叠加视图设置
- 检查裁剪属性:确保叠加视图和容器视图的
clipsToBounds属性都设置为NO(默认值,若被修改需改回),避免内部内容被裁剪。
代码辅助(若Storyboard设置后仍有遮挡)
在viewDidLoad中添加代码强制提升叠加视图的层级:
overlayView.layer.zPosition = containerView.layer.zPosition + 1
内容的提问来源于stack exchange,提问作者Enamul Haque
相关产品推荐
相关产品推荐

