1

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

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 ,那么它也可以工作(即使方向改变并且另一个视图控制器在上面。)

有谁知道我没有设置的魔法标志是什么?

谢谢

4

1 回答 1

0
 btn.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
于 2011-05-25T14:24:59.100 回答