7

カスタムUIBarButtonItemのタイトルを設定する必要があります。

私は次のコードを持っています:

UIButton* backToRecent = [UIButton buttonWithType:UIButtonTypeCustom];
[backToRecent setImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal];

[backToRecent addTarget:self action:@selector(backToRecent) forControlEvents:UIControlEventTouchUpInside];
[backToRecent setFrame:CGRectMake(0, 0, 60, 30)];

UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backToRecent];
[backButtonItem setTitle:@"Recent"];
partViewController.navigationItem.leftBarButtonItem = backButtonItem;
[backButtonItem release];

ただし、ボタンは「最近」のテキストなしで表示されます。

4

2 に答える 2

18

ムハンマド、あなたはすでにこれを解決したと思いますが、ここに簡単な方法があります。これが同じ問題に苦しんでいる人に役立つことを願っています:

    UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Recent" style:UIBarButtonItemStyleBordered target:self action:@selector(backToRecent)];
    self.navigationItem.leftBarButtonItem = backButtonItem;
于 2012-12-04T00:38:16.717 に答える
7

UIBarButtonItemではなく、UIButtonにタイトルを設定する必要があります

[backToRecent setTitle:@"Recent" forState:UIControlStateNormal];

変数とメソッドの名前を同じにするのは良くありません

[backToRecent addTarget:self action:@selector(backToRecent) forControlEvents:UIControlEventTouchUpInside];

あなたが使用するので、それは動作しません

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

使ってみてください

[backToRecent setBackgroundImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal];
于 2012-05-24T09:01:13.287 に答える