更改方向iPhone时,自定义导航按钮的大小调整问题

问题描述

| 我正在创建一个自定义导航按钮(如下所示),除一件事外一切都进行得很顺利...
UIButton* btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
btn.bounds = CGRectMake(0,40,40);
btn.autoresizingMask = UIViewAutoresizingFlexibleHeight;
UIBarButtonItem* barBtn = [[[UIBarButtonItem alloc] initWithCustomView:btn] autorelease];
self.navigationItem.rightBarButtonItem = barBtn;
...如果我从纵向开始,然后将另一个视图控制器推到导航上,然后将方向更改为横向,然后弹出顶视图控制器,则自定义导航按钮不会自动调整其大小(因此对于导航栏来说太大了) 当按钮可见时,它将调整大小。 如果我将UISegmentedControl替换为UIButton,那么它也可以工作(即使方向发生更改并且另一个viewcontroller在顶部)。 有人知道我没有设置什么魔术标记吗? 谢谢     

解决方法

 btn.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;