0

どうしてこれなの?

この問題に関する投稿はこちらで既に見ましたが、ボタンを別の x/y 位置に作成することを既に検討しています。

これが私がやっていることです:

UIButton * bt1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bt1.frame = CGRectMake(40, 40, 20, 20);

[bt1 setTitle:@"A" forState:UIControlStateNormal];
[bt1 addTarget:self action:@selector(buttonPushed) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:bt1];

UIButton * bt2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bt2.frame = CGRectMake(80, 80, 20, 20);

[bt1 setTitle:@"B" forState:UIControlStateNormal];
[bt1 addTarget:self action:@selector(buttonPushed) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:bt2];

ありがとうございました!

4

3 に答える 3

2

ボタンbt2を割り当てて作成した後、bt1のすべてのものを設定しています

于 2013-06-20T18:44:09.313 に答える
1

同じスコープ内のローカル変数でこれが起こらないようにする非常に簡単な方法: 別のスコープを使用します。

{
UIButton * bt1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bt1.frame = CGRectMake(40, 40, 20, 20);

[bt1 setTitle:@"A" forState:UIControlStateNormal];
[bt1 addTarget:self action:@selector(buttonPushed) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:bt1];
}

{
UIButton * bt2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bt2.frame = CGRectMake(80, 80, 20, 20);

[bt1 setTitle:@"B" forState:UIControlStateNormal];
[bt1 addTarget:self action:@selector(buttonPushed) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:bt2];
}

コンパイラがエラーをキャッチします。

于 2013-06-20T19:25:33.890 に答える