1

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:」が機能しなかったようです。理由を教えてもらえますか?どうも!

4

1 に答える 1

0

setTitle: ドキュメントを十分に注意深く読んでいないだけです。後者は overrides としてsetBackgroundImage:代わりに使用しますが、前者はそうではありません (それがあなたの望みです)。だから代わりにsetImage:setTitle:

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

書きます

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

大丈夫です。

于 2012-10-11T06:30:50.133 に答える