基于Storyboard的UIKit应用:如何在TextField内添加按钮并设置约束
首先移除Storyboard中Button与栈视图、TextField之间的所有关联约束
你之前在栈视图里同时放置了TextField和Button,栈视图会自动给Button添加布局约束,但现在Button要作为TextField的rightView(父视图变为TextField),原有约束会和UIKit的自动布局逻辑冲突,必须全部删除。保留Button自身的宽高约束(30×30)
这个约束是确保Button尺寸固定的关键,不需要修改。将Button从栈视图的子层级中移除
在Storyboard的文档大纲里,把Button拖出栈视图(可以直接放到ViewController的根视图下,或者作为TextField的直接子视图),让栈视图不再管理Button的布局。无需额外添加Button与TextField的布局约束
当你设置textField.rightView = button后,UIKit会自动处理Button的位置:默认垂直居中于TextField的右侧区域,完全符合内嵌需求,手动添加约束反而会引发新的布局冲突。
内容的提问来源于stack exchange,提问作者AppleDeveloper
相关产品推荐
相关产品推荐

