[英]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.