0

ボタンは次の方法で追加できます。

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(100, 100, 160, 50);
[myButton setTitle:@"click me" forState:UIControlStateNormal];
[self.view addSubview:myButton];

しかし、私たちは次の方法で行くことができますinitWithFrame

UIButton *myButton2 = [[UIButton alloc] initWithFrame:CGRectMake(100, 300, 160, 50)];
//myButton2.buttonType = UIButtonTypeRoundedRect;
myButton2.titleLabel.text = @"click me";
[self.view addSubview:myButton2];

ただし、上記の2行目は、「読み取り専用」プロパティのエラーが発生するためコメント化されており、その行がコメント化されていても、ボタンはまったく表示されません...initWithFrameそもそも使用している場合、UIButtonを追加できますか?

更新:ビューの領域を表示するために黄色の背景を設定しましたが、ボタン2のラベルテキストが実際には白で「クリックしてください」と表示されることがわかりました...しかし、それに触れても視覚効果はありません...コードサンプル2を変更して機能させる...)

4

1 に答える 1

1

はい、もちろんできます。しばらく前に、その読み取り専用のbuttonTypeプロパティについて少し議論しました。一般的なコンセンサスは、誰もがボタンのタイプを切り替えるための安全な方法も正当な理由もないということです。+buttonWithTypeさらに、UIButtonのインスタンスをと同様に返すので、問題はありません+Alloc-init

于 2012-05-25T03:51:41.887 に答える