如何更改 UIToolbar 的高度? [复制]
Posted
技术标签:
【中文标题】如何更改 UIToolbar 的高度? [复制]【英文标题】:How to change UIToolbar height? [duplicate] 【发布时间】:2016-08-22 08:20:37 【问题描述】:我想更改导航控制器中 UIToolbar 的高度,但我无法在 Xcode 7.3 和 ios 9 中快速执行此操作。我尝试在 viewDidLoad 处使用 CGRectMake 设置框架,但它没有用.还尝试初始化自定义 UIToolbar(),但高度保持不变。
编辑:
根据其中一个答案,我尝试了选择工具栏,按下控制并再次选择工具栏,但我得到的却显示在下面的屏幕截图中:
【问题讨论】:
【参考方案1】:根据您是否使用情节提要,有 2 个选项。
选项 1:使用情节提要
1) 转到您的故事板并从您选择的工具栏中按住 Ctrl 并再次单击您的工具栏,就像您正在分配 IBAction 一样。然后你会得到以下信息:
(对不起第一张图片的质量;我不得不用我的手机拍照,因为我按住 ctrl 时无法截屏)
2) 然后按高度获取约束并更改值:
选项 2:例如使用 Swift 55 像素高度
yourToolBar.frame = CGRect(x: 0, y: view.frame.size.height - 55, width: view.frame.size.width, height: 55)
【讨论】:
尝试了选项 1,但无法打开与屏幕截图相同的窗口。我的只有“奥特莱斯”、“奥特莱斯收藏”、“参考奥特莱斯”和“参考奥特莱斯收藏”选项。顺便说一句,故事板中禁用了自动布局。 还尝试了选项 2,并在 UINavigationController 中使用强引用 @IBOutlet 设置框架。它也不会改变。 是的,如果您使用情节提要,则必须使用选项 1。您确定您已选择工具栏,然后在按住 ctrl 的同时再次单击工具栏吗?它应该显示蓝线,两端都有蓝点。我在 1 分钟前尝试过,如果操作正确,它肯定可以工作 - 我之前也在应用程序中使用过它 感谢您的回复。但是我仍然无法使用 xcode 7.3.1 版获得与您相同的屏幕。我编辑了我的问题并附上了屏幕截图。 我看到了您的屏幕截图.. 当您右键单击工具栏等时会发生这种情况。只需按住 Ctrl 将鼠标悬停在工具栏上方,然后再次按下/单击工具栏。请参阅我的新附加图片。只要你没有看到两个连接的蓝点,它就不起作用【参考方案2】:您可以将它与 ; 一起使用
将45
更改为最小或最大高度。
override func layoutSubviews()
super.layoutSubviews()
var frame = self.bounds
frame.size.height = 45
self.frame = frame
override func sizeThatFits(size: CGSize) -> CGSize
var size = super.sizeThatFits(size)
size.height = 45
return size
和like一起使用;
let navigationController = UINavigationController(navigationBarClass: nil, toolbarClass: Toolbar.self)
谢谢
【讨论】:
请问放在哪里?在 UINavigationController 中?该方法似乎没有覆盖其超类中的任何方法。 @victorleungtw 添加了。 完美运行 @victorleungtw 配合我的代码完美运行请批准我的回答,谢谢;)【参考方案3】:如果您使用自动布局,您可以在Storyboard
中设置高度约束。
或者您可以像这样以编程方式进行:
myToolbar.frame = CGRectMake(0, 50, 320, 35)
【讨论】:
谢谢,但我忘了提到自动布局已禁用。以上是关于如何更改 UIToolbar 的高度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章