6

を変更したいUIBarButtonItemtitle

しかし、このコードは機能していません。

- (void)viewDidLoad {
    ...        
    [self smay];
}

- (void)smay {
    ...

    AppDelegate *apd = (AppDelegate*)[[UIApplication sharedApplication]delegate];
    NSString *SmayUse = [NSString stringWithFormat:@"%d月%d日",
                           apd.newyear,apd.newmonth];
    [_smay setTitle:SmayUse]
}

この問題を解決する方法がわかりません。

この問題を解決する方法を教えてください。

4

4 に答える 4

5

次のように UIBarButtonItem を初期化します。

_smay = [[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
             style:UIBarButtonItemStyleBordered 
             target:self action:@selector(yourMethod)];

self.navigationItem.rightBarButtonItem = _smay;

次に、コード内の別の場所でタイトルを変更する場合:

[_smay setTitle:@"Your Other Title"];

IOS 8 以降

UIBarButtonItemStyleBordered は非推奨なので、以下を使用してください。

[[UIBarButtonItem alloc] initWithTitle:@"Your Title" 
                 style:UIBarButtonItemStylePlain
                 target:self action:@selector(yourMethod)];
于 2013-08-21T15:07:34.223 に答える
0

if u want to change the title of navigation bar programmatically means

UIBarButtonItem *aDoneItem = [UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleBordered
   target:self
   action:@selector(toggleEdit:)];

navigationController.rightBarButtonItem = aDoneItem;

aDoneItem.title = @"Something";
于 2013-08-22T16:15:25.650 に答える
-1

ボタンが初期化されていることを確認する必要があります。@propertyそれが .xib ファイルの一部である場合は、それに関連付けられている .xib ファイルとリンクしていることを確認してくださいIBOutlet。それ以外の場合は、プログラムで初期化する必要があります。また、メソッドを使用する必要がありますsetTitle:forState:

于 2013-08-21T15:01:15.073 に答える
-3

item.title = @"new title"動作するはずです。

于 2015-03-30T06:08:57.020 に答える