是否可以在iOS的导航栏下添加拖动按钮,如下图所示:
如果是,请告诉我如何做到。
答案 0 :(得分:3)
查看Apple Customizing UINavigationBar sample code中的 ExtendedNavBar 示例。
答案 1 :(得分:1)
实际上它可以做同样的事情;但我不建议你这样做,因为这可能会破坏即将发布的iOS版本中的应用程序..
如果您想这样做,请查看Stackoverflow上的帖子
iPhone - How set uinavigationbar height?
它可以帮助您使导航栏更高。只需创建一个自定义的UINavigationBar子类,它将覆盖sizeThatFits:并返回一个大的。
const CGFloat HeightToIncrease = 50.0f;
@implementation MyNavigationBar
- (CGSize)sizeThatFits:(CGSize)size {
CGSize amendedSize = [super sizeThatFits:size];
amendedSize.height += HeightToIncrease;
return amendedSize;
}
@end
你的视图看起来像![follow] [1]
现在只需覆盖导航栏子类中的layoutSubviews,然后向上移动按钮和标题,为按钮腾出空间
喜欢以下
- (void)layoutSubviews {
[super layoutSubviews];
NSArray *classNamesToReposition = @[@"UINavigationItemView", @"UINavigationButton"];
for (UIView *view in [self subviews]) {
if ([classNamesToReposition containsObject:NSStringFromClass([view class])]) {
CGRect frame = [view frame];
frame.origin.y -= HeightToIncrease;
[view setFrame:frame];
}
}
}
这将为您想要放置在导航中的按钮腾出空间。