Xcode 9.4导航栏按钮尺寸异常增大且无法修改求助
嘿,我之前升级Xcode版本时也碰到过类似的控件尺寸异常问题,给你几个实用的解决方向:
问题分析&解决步骤
这种情况大概率是Xcode 9对Auto Layout和控件固有尺寸的处理逻辑和旧版本不同导致的,试试下面的方法:
1. 修改按钮的固有内容尺寸设置
Xcode 9之后系统会更严格地遵循控件的固有内容尺寸,这会导致你无法手动修改按钮宽度:
- 选中导航栏里的那个超大按钮,打开右侧面板的
Size Inspector(就是那个尺子图标) - 找到
Intrinsic Size选项,默认是Default (System Defined),把它改成Placeholder,之后你就能自由输入想要的宽度和高度数值了
2. 删除自动生成的约束
升级Xcode时,storyboard可能自动给按钮添加了锁定尺寸的约束:
- 同样在
Size Inspector里的Constraints区域,看看有没有强制宽度的约束(比如Width Equals),右键点击这些约束选择Delete - 或者在左侧的文档大纲里,找到按钮下方的约束列表,直接删掉那些限制尺寸的条目
3. 检查导航栏的大标题设置
Xcode 9新增了大标题导航栏特性,这个设置可能会间接影响导航栏控件的显示:
- 选中导航栏,打开
Attributes Inspector(滑块图标) - 看看
Prefers Large Titles是不是被意外勾选了,取消它再看看按钮尺寸是否恢复正常
4. 重置或重新添加按钮
如果上面的方法都没用,试试重置布局或者重新添加按钮:
- 选中按钮,右键点击选择
Layout->Reset to Suggested Constraints,让系统重新生成合适的约束 - 或者干脆把这个异常的按钮删掉,重新拖一个
Bar Button Item到导航栏,再设置你需要的尺寸
附上你提供的截图:
内容的提问来源于stack exchange,提问作者Toola
相关产品推荐
相关产品推荐

