当前位置:  开发笔记 > IOS > 正文

有没有办法改变UIToolbar的高度?

如何解决《有没有办法改变UIToolbar的高度?》经验,为你挑选了6个好方法。

我有一个UIToolbar界面生成器,我注意到它被锁定为44px高.当然我想把它做大.

Apple是否允许调整此控件的大小?如果是这样,我该怎么做呢?



1> David Kanare..:

当然,只需设置不同的框架:

[myToolbar setFrame:CGRectMake(0, 50, 320, 35)];

这将使您的工具栏高35像素.当然这需要一个IBOutlet或以编程方式创建UIToolbar,但这很容易做到.


是否会从AppStore中拒绝调整"UIToolbar"的大小?
不,我尝试了,并得到了低谷.但有时它取决于你的苹果家伙的日常情绪.
我不喜欢这个解决方案,因为它会导致工具栏在外观过渡时调整大小.下面的sizeThatFits解决方案效果最好

2> 小智..:

如果在SDK 6中不起作用,可以解决如下问题:

选择工具栏元素,然后选择"编辑器">"引脚">"高度"以创建约束.转到View Controller Scene并选择创建的Height(44)约束,然后输入所需的值.



3> christopherc..:

我发现如果我在iPad上设置框架,当隐藏/显示工具栏时会将自身重置回44像素的高度.我最终不得不重写UIToolbar并更改方法:

// return 'best' size to fit given size. does not actually resize view. Default is return existing view size
- (CGSize)sizeThatFits:(CGSize)size {
    CGSize result = [super sizeThatFits:size];
    result.height = 55;
    return result;
};     

即使使用隐藏/显示,这也可以正确调整高度.



4> matt..:

在iOS 6中,使用autolayout,最简单的方法是在其中覆盖的UIToolbar子类instrinsicContentSize.这是我的一个应用程序的代码,工具栏很高.它的侧面和底部照常固定在超视图的侧面和底部.

-(CGSize)intrinsicContentSize {
    return CGSizeMake(UIViewNoIntrinsicMetric, 85);
}



5> 小智..:

对于Xcode 7.1 iOS 9,在自动布局中,大小锁定为44px.Xcode菜单选项Editor> Pin> Height不存在,而是执行以下操作:

在InterfaceBuilder中,单击工具栏元素以将其选中.控制+向下拖动工具栏中的任何位置并释放,弹出菜单将显示顶部的选项"高度",选择它.

您现在有一个高度约束可以使用并根据需要进行调整.


我认为这不适用于UINavigationController中的工具栏.

6> Radu Diță..:

您也可以编辑xib文件:

打开它作为源代码,找到定义UIToolbar框架的条目,类似于

{{0,420}, {320,44}}

只需将44的值更改为您需要的任何大小.

这样工具栏会更高,在InterfaceBuilder中你会看到新的大小变灰,你将无法改变它,但你不需要任何插座或代码.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有