-2

ユーザーが UIButton を押すと、ボタンのテキストが UILabel 内に表示されるプログラムを作成しようとしています。ただし、複数のボタンが結果のメソッドを引き起こす可能性があるため、ラベル内のテキストが変更されます。電話のようなボタンで作成した数字キーパッドがあり、ボタンを押すと、ボタンの数字が UILabel の文字列の末尾に追加されます。たとえば、「2」を押すと、ラベル内に「2」が表示されます。「3」ボタンを押すと、ラベル自体が「23」に書き換えられます。これに対する私のコードの例は次のとおりです。

NSString *str = [answerField text];
    if ([[sender titleLabel] isEqual:@"0"]){
    [str stringByAppendingString:@"0"];
    }

論理的には、コードは機能するようです。answerField は UILabel の名前であり、押されたボタンに文字列リテラルとして「0」というラベルが付いている場合、str の末尾にゼロを追加したいと考えています。残念ながら、プログラムを実行しても、ラベルには何も起こりません。ボタンを押すことはできますが、ラベルが変わりません。何か案は?前もって感謝します!

4

1 に答える 1

0

ラベルのテキストを新しい文字列に設定する必要があります...また、ifステートメントは不要[UIButton titleLabel]のようtextです。

NSString *str = [answerField text];
str = [str stringByAppendingString:[[sender titleLabel] text]];
[answerField setText:str];
于 2013-07-26T10:45:07.680 に答える