iphone - 変わらない - UIButton setTitle forStateが機能しない




uilabel settitle (4)

以前のビューから「次へ」ボタンを押すと、新しいビューにUIButtonのテキストを設定しようとしています。 私はIBOutletを正しく設定しましたが、私はこれまでの回答をすべて見てきましたが、まったく動作していません。

ここに私がしようとしているもののサンプルがあります:

- (IBAction)computeQuiz:(id)sender
{  
    [fiveFootUniversalResults setTitle:@"Test" forState:UIControlStateNormal];
}

- (IBAction)jumpT10ResultsView:(id)sender
{       
    NSString *nibFileToLoad = @"JumpT10Results";

    UIDevice *device = [UIDevice currentDevice];

    if([device userInterfaceIdiom] == UIUserInterfaceIdiomPad)
    {
        nibFileToLoad = [nibFileToLoad stringByAppendingString:@"-iPad"];
    }

    JumpmasterPathfinderViewController *nextView = [[JumpmasterPathfinderViewController    alloc] initWithNibName:nibFileToLoad bundle:nil];

    // Modal view controller
    nextView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:nextView animated:YES];

    [nextView release];

    [scrollView setContentSize:CGSizeMake(imageViewWidth, imageViewHeight + 44.0)];
}

これらのアクションは、両方とも前のビューのボタンに接続されています。 ビューが正常にロードされますが、唯一の問題はボタン上でテキストが変更されないことです。 私は100%IBOutletsを正しく設定していると確信しています。私は何が間違っているのか分かりません。 何か案は?


IBがtitle代わりにattributedTitleを設定しているので、うまくいかない。

代わりにこれを試してください:

NSAttributedString *attributedTitle = [self.myButton attributedTitleForState:UIControlStateNormal];
NSMutableAttributedString *mas = [[NSMutableAttributedString alloc] initWithAttributedString:attributedTitle];
[mas.mutableString setString:@"New Text"];

[self.myButton setAttributedTitle:mas forState:UIControlStateNormal];

あるいは、

[self.myButton setAttributedTitle:nil forState:UIControlStateNormal];
[self.myButton setTitle:@"New Text" forState:UIControlStateNormal];

(2番目のオプションでは、書式は保持されません)。


このコードを試してください....

UIButton *backbtn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 68, 38)];
[backbtn setTitle:@"Your string" forState:UIControlStateNormal];
//[backbtn setImage:[UIImage imageNamed:@"BackBtn.png"] forState:UIControlStateNormal];
[backbtn addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:backbtn];

私が同じ問題を抱えていたとき、下のリンクの答えが私を助けました。 それは、辞書のすべての属性を保存することができました。 私は別のテキストで同じ属性を持つ新しい属性付き文字列を作成し、変更したいボタンに追加しました。 お役に立てれば。

書式設定を失うことなく、帰属UILabelのテキストを変更しますか?


試してください:

[fiveFootUniversalResults setBackgroundColor:[UIColor redColor]];
[fiveFootUniversalResults setTitle:@"Test" forState:UIControlStateNormal];

多分、背景色はタイトル色と同じです。 黒いペンで黒い紙に書くときに何も見えません。 setTitleを呼び出す前に背景色またはタイトルの色を設定してください。





settext