0

私は次のように読むラベルを持っています

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imageName.png"]];

UILabel *testLabel =[[UILabel alloc] initWithFrame:CGRectMake(65,50,200,50)]; // RectMake(xPos,yPos,Max Width I want, is just a container value);

NSString *test=@"I am thinking of a number between 1 and 100.  What is it?";

testLabel.font = [UIFont systemFontOfSize:25];
testLabel.textAlignment = NSTextAlignmentCenter;
testLabel.text = test;
testLabel.numberOfLines = 0; //will wrap text in new line
[testLabel sizeToFit];

[self.view addSubview:testLabel];

この ViewController.m ページの最後で、ユーザーがフィールド値を送信した後にボタンを押します。

- (IBAction)guessNow:(id)sender {


self.usersGuess = self.guessNumberField.text;


NSString *guessString = self.usersGuess;

if ([guessString length] == 0) {

    guessString = @"Really No Guess? Try Again.";

}

   //_testLabel.text = @""; attempting to clear out label when user submits the value
NSString *guessReply = [[NSString alloc] initWithFormat:@"Good try but %@ is not the answer!", guessString];

self.testLabel.text = guessReply;


}

問題は、ユーザーがフィールドに値を入力して推測ボタンを押すと、最初のフィールド値の後ろに答えが表示されることです。スクリーンショットは次のとおりです。

ここに画像の説明を入力

返信のみが表示されるように、最初のメッセージを消去するにはどうすればよいですか?

4

3 に答える 3

0

Interface Builder に移動します。Ctrl ボタンを押したままボタン (テキストのクリアを処理するボタン) をクリックし、実装の View Controller にドラッグします。小さなウィンドウが表示され、ドロップダウン メニューから Touch Up が表示され、方法に名前を付けてから、Enter をタップします。

空のメソッドが作成されます。内部のクリア テキスト:

- (IBAction)clearText:(id)sender {
     self.testLabel.text = @"";
}
于 2013-10-07T18:59:34.290 に答える
0

ここでの本当の問題は、ラベルを適切に再利用していないことです...指示と推測は同じラベルに書かれている必要があります。(サブビューに再度追加することなく)単純に self.labelname.text=@"newLabel" を使用できます。

あなたが提供したコードは結果と一致しません...

于 2013-10-07T19:09:22.173 に答える