UIBarButtonItem中的UIButton没有显示出来

时间:2010-11-04 15:05:22

标签: iphone objective-c uibutton uibarbuttonitem

我在视图中有以下内容加载到我的表视图控制器上:

UIButton *change_view = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[change_view setTitle:@"List" forState:UIControlStateNormal];
[change_view addTarget:self action:@selector(toggleView:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView: change_view];    
self.navigationItem.rightBarButtonItem = button;    

当我运行程序时,它不会显示任何标题或圆角矩形按钮。但是,如果我将类型更改为UIButtonTypeInfoLight,它将显示...那么问题是什么?

2 个答案:

答案 0 :(得分:16)

我更喜欢以下方式来设置按钮的界限。

[button setTitle:@"Title" forState:UIControlStateNormal];
[button sizeToFit];

答案 1 :(得分:6)

尝试为change_view设置合适的框架。

当您使用UIButtonTypeInfoLight类型按钮时,使用一些内置大小(可能取决于用于它的图标),使用UIButtonTypeRoundedRect类型默认框架,必须为CGRectZero rect。