UIBarButtonItem中的UIButton没有显示出来

ahe*_*ang 7 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;    
Run Code Online (Sandbox Code Playgroud)

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

mag*_*poc 16

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

[button setTitle:@"Title" forState:UIControlStateNormal];
[button sizeToFit];
Run Code Online (Sandbox Code Playgroud)


Vla*_*mir 6

尝试为您的设置适当的框架change_view.

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