2011-05-25 82 views
1

我创建一个自定义导航按钮(如下)时,所有进展顺利,除了一件事......自定义导航按钮调整大小的问题,改变方向(iPhone)

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; 

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

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

如果我取代了的UIButton那么这也适用一个UISegmentedControl(即使方向改变时,另一个视图 - 控制是ontop的。)

任何人都知道魔术的标志是什么,我还没有设置?

感谢

回答

0
btn.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 
+0

感谢您的建议 - 但是这不是解决办法。它在旋转时自动调整大小 - 只要它属于最顶层的视图控制器 - 这让我觉得它更像是导航/视图控制器。 – Scotty 2011-05-25 15:42:03