如何自定义自定义UIBarButtonItem的标题

时间:2012-10-11 06:27:08

标签: ios

我已经像这样定制了UIBarButtonItem:

UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom];
loginBtn.frame = CGRectMake(0, 0, 46.0, 34.0);
[loginBtn setImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal];
[loginBtn addTarget:self action:@selector(loginPressed:) forControlEvents:UIControlEventTouchUpInside];
[loginBtn setTitle:@"Login" forState:UIControlStateNormal];

UIBarButtonItem *finishedButton = [[UIBarButtonItem alloc] initWithCustomView:loginBtn];

[finishedButton setStyle:UIBarButtonItemStylePlain];
self.navigationItem.rightBarButtonItem = finishedButton;

但是现在我看不到带有“登录”的标题,它在按钮上是空白的,似乎“setTitle:”没有用。 谁能告诉我为什么? THX!

1 个答案:

答案 0 :(得分:0)

setTitle: 确实有效,您还没有仔细阅读文档。使用setBackgroundImage:代替setImage:,因为后者会覆盖setTitle:,但前者不会(这就是您想要的)。而不是

[loginBtn setImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal];

[loginBtn setBackgroundImage:[UIImage imageNamed:@"loginBtn.png"] forState:UIControlStateNormal];
            ^
            +- background!

你应该没事。