簡體   English   中英

以編程方式更改工具欄上的UILabel(UIBarButtonItem)的文本

[英]Change the text of a UILabel (UIBarButtonItem) on a toolbar programmatically

我是初學的iPhone開發者。 我的代碼如下:

UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];  
UILabel *lblTotCaratteri = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 25, 15)];
lblTotCaratteri.textAlignment = UITextAlignmentCenter;
lblTotCaratteri.font = [UIFont italicSystemFontOfSize:13.0];
lblTotCaratteri.textColor = [UIColor greenColor];
lblTotCaratteri.backgroundColor = [UIColor clearColor];
lblTotCaratteri.adjustsFontSizeToFitWidth = YES;
lblTotCaratteri.text = @"0";

UIBarButtonItem *lblCaratteri = [[UIBarButtonItem alloc] initWithCustomView: lblTotCaratteri];

inserimentoToolbar.items = [NSArray arrayWithObjects:fixedSpace, lblCaratteri, fixedSpace, nil];

所以在我看來,我有一個UITextView,這個工具欄以編程方式創建。 我想在每次向UITextView添加字符時更改標簽文本。 每次UITextView文本更改時,我都會顯示每個按鍵的警報。 我無法弄清楚如何更改標簽文字。 我希望我已經解釋了我的情景。 對不起我的英語不好。 問候,盧卡。

一種方法是,假設在您的界面中聲明了inserimentoToolbar:

[(UILabel *)[[toolbar.items objectAtIndex:1] view] setText:@"sometext"];

這實際上只有在您的工具欄不會更改時(就對象而言)才有效。

要么

更理想的解決方案是將lblTotCaratteri放在您的界面中(在頭文件中)。 喜歡:

@interface UntitledViewController : UIViewController {
    UILabel *lblTotCaratteri;
}

那么你所包含的代碼就是這樣的

UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];  
lblTotCaratteri = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 25, 15)];
lblTotCaratteri.textAlignment = UITextAlignmentCenter;
// etc etc etc

然后在任何時候,只需使用

lblTotCaratteri.text = @"sometext";

喲,這對我有用,當我點擊相同的UIBarButtonItem時,我更改了UIBarButtonItem標題。 意味着我需要的是觸發器。 如果第一次單擊它會顯示“MyText1”,然后再次單擊,標題將更改為“MyText2”。 用戶單擊按鈕時文本切換。

-(IBAction)myBarButtonItem:(id)item{

 if(flag){
   flag=FALSE;
   [(UIBarButtonItem *)item setTitle:@"MyText1"];
}
else{
  flag=TRUE;
  [(UIBarButtonItem *)item setTitle:@"MyText2"];
}

注意:我還沒有以編程方式創建UIBarButtonItem。 我在Interface Builder中創建並將方法“myBarButtonItem”的引用設置為此按鈕。 因此,當UIBarButtonItem或按下這種類型的按鈕時,它調用方法“myBarButtonItem”並發送按鈕的引用作為參數,我進一步輸入(UIBarButtonItem *)並使用setTitle屬性來更改它的文本或說標題。

***聲明方法的簽名即在你的頭文件中: - (IBAction)myBarButtonItem:(id)item;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM