繁体   English   中英

UIBarButtonItem无法正确显示

[英]UIBarButtonItem not showing correctly

我有一个带有UIToolbar的iOS应用,上面带有几个按钮。 其中之一,我根据日期以编程方式更改了图像,如下所示:

[_button setImage: [UIImage imageNamed: @"blah"]];

_button是一个IBOutlet。

在iPhone上,它工作正常,但是每次在iPad上运行该应用程序时,都会出现如下图所示的故障。 知道是什么原因造成的吗?

http://imagebin.org/306704

我们试试吧:

UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[closeButton setFrame: CGRectMake(0, 0, closeButtonFontSize.width, closeButtonFontSize.height)];
[closeButton.titleLabel setFont: font];
[closeButton setTitle: closeStr forState: UIControlStateNormal];
[closeButton setTitleColor: hoverColor forState: UIControlStateHighlighted];
[closeButton addTarget:self action:@selector(closePressed) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *closeBarButton = [[UIBarButtonItem alloc] initWithCustomView:closeButton];
//set this bar button to your toolbar

SetImage直接不适用于按钮,我们像这样设置按钮的图像和状态

[_button setImage:[UIImage imageNamed: @"blah"] forState:UIControlStateNormal];

带有图像的UIBarButtonItem

UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon.png"] style:UIBarButtonItemStylePlain target:self action:@selector(action)];

否则您可以自定义barbuttonitem

尝试这个

UIButton *btton = [UIButton buttonWithType:UIButtonTypeCustom];
[btton setFrame:CGRectMake(0, 0, 20, 20)];
[btton addTarget:self action:@selector(actionMenu:) forControlEvents:UIControlEventTouchUpInside];
 [btton setImage:[UIImage imageNamed:@“blah.png"] forState:UIControlStateNormal];

UIBarButtonItem * barbutton = [[UIBarButtonItem alloc] initWithCustomView:btton];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM