更改方向时自定义导航按钮调整问题(iPhone)

时间:2011-05-25 14:01:09

标签: iphone uinavigationbar autoresizingmask

我正在创建一个自定义导航按钮(如下所示),除了一件事情之外一切顺利......

UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
btn.bounds = CGRectMake(0,0,40,40);
btn.autoresizingMask = UIViewAutoresizingFlexibleHeight;
UIBarButtonItem* barBtn = [[[UIBarButtonItem alloc] initWithCustomView:btn] autorelease];
self.navigationItem.rightBarButtonItem = barBtn;

...如果我以纵向开始然后将另一个视图控制器推到导航上然后将方向改为横向然后弹出顶视图控制器,自定义导航按钮不会自动调整其大小(因此太大了导航栏。)

当按钮可见时,它会调整大小。

如果我将UISegmentedControl替换为UIButton,那么它也可以工作(即使方向已更改而另一个视图控制器位于顶部。)

任何人都知道我没有设定的神奇旗帜是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

 btn.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;