この問題に対する回答を探しましたが、特定の問題によく関連するものは見つかりませんでした。複数の UILabels があり、押された UIButton に応じてテキストを変更しようとしています (iPhone の電話機能に似ています)。このメソッドは、既知の 1 つの UILabel に対して機能します。ただし、複数のラベルが存在する場合、ラベルに書き込もうとしています。ラベルをタップしてテキストを書き込むラベルを特定したいのですが、コードが機能しません...私の方法は次のとおりです。
// init method
answerFieldC.userInteractionEnabled = YES;
touch = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(inputAnswer:)];
[touch setNumberOfTapsRequired:1];
[answerFieldC addGestureRecognizer:touch];
-(IBAction)inputAnswer:(id)sender {
strC = [answerFieldC text];
currentLabel = touch.view;
if (currentLabel==answerFieldC) {
[strC stringByAppendingString:[sender currentTitle]];
[answerFieldC setText:strC];
}
}
他のラベルは、同じ inputAnswer および init コードの下で動作しています。answerFieldC
はラベルstrC
で、ラベルのテキストを格納する文字列です。助けてくれてありがとう!