我想在导航控制器中更改UIToolbar的高度,但我无法在Xcode 7.3和iOS 9中使用swift。我试图在viewDidLoad中使用CGRectMake设置框架,但它没有工作。还尝试初始化一个自定义UIToolbar(),但高度保持不变。如何更改UIToolbar高度?
编辑:
:按其中一个答案,我曾尝试选择工具栏,请控制,再次选择工具栏上,但在下面的截图,而不是表示我得到了什么
我想在导航控制器中更改UIToolbar的高度,但我无法在Xcode 7.3和iOS 9中使用swift。我试图在viewDidLoad中使用CGRectMake设置框架,但它没有工作。还尝试初始化一个自定义UIToolbar(),但高度保持不变。如何更改UIToolbar高度?
编辑:
:按其中一个答案,我曾尝试选择工具栏,请控制,再次选择工具栏上,但在下面的截图,而不是表示我得到了什么
你可以使用它; 更改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)
感谢
如果您使用自动布局,您可以在Storyboard
中设置高度约束。
或者你也可以做到这一点编程方式是这样的:
myToolbar.frame = CGRectMake(0, 50, 320, 35)
谢谢,但我忘了提及自动布局被禁用。 – victorleungtw
有具体取决于您使用的故事板或不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,但无法打开与您的屏幕截图相同的窗口。我的选择只有“Outlets”,“Outlet Collection”,“Reference Outlets”和“Reference Outlets Collections”。顺便说一句,故事板中禁用了自动布局。 – victorleungtw
还尝试了选项2,并使用强引用@IBOutlet在UINavigationController中设置框架。它也不会改变。 – victorleungtw
是的,如果你正在使用故事板,你必须使用选项1.你确定你已经选择了你的工具栏,然后按住Ctrl再次单击工具栏上的按钮?它应该在每一端显示带蓝点的蓝线。我在1分钟前尝试过,如果做得对,它绝对有效 - 我也在 – tech4242
请问哪里可以放?在UINavigationController?该方法似乎没有从它的超类中重写任何方法。 – victorleungtw
@victorleungtw补充说。 – SwiftDeveloper
它的工作完美 –