Interface Builderでドラッグ接続する代わりに、コードでIBAction
sとsをハードコーディングすることは可能ですか?IBOutlet
7237 次
2 に答える
16
はい、それは可能です...
サンプルコード
UIButton *btnDetail = [UIButton buttonWithType:UIButtonTypeRoundedRect] ;
[btnDetail setFrame:CGRectMake(250.0f, 15.0f, 65.0f, 20.0f)] ;
//btnDetail.backgroundColor = [UIColor grayColor];
[btnDetail setTitle:@"Detail" forState:UIControlStateNormal];
[btnDetail setTitleColor: [UIColor redColor] forState: UIControlStateNormal];
[btnDetail.titleLabel setFont:[UIFont fontWithName:@"Verdana" size:12]];
[btnDetail setBackgroundColor:[UIColor clearColor]];
[btnDetail sizeThatFits:btnDetail.frame.size];
[self.view addSubview:btnDetail];
//IBAction
[btnDetail addTarget:self
action:@selector(ShowSavingAccountDetail:)
forControlEvents:UIControlEventTouchUpInside];
[btnDetail setImage:[UIImage imageNamed:@"btn-detail.png"] forState:UIControlStateNormal];
于 2010-03-30T10:30:23.200 に答える
13
IBActionとIBOutletの概念と唯一の目的は、xibをコードに接続する手段をInterfaceBuilderに提供することです。
コードでInterfaceBuilderを使用したくない場合は、IBActionまたはIBOutletは必要ありません。これらは、クラスからxibにインスタンス化されたオブジェクト(ボタン、テキストフィールドなど)を使用する場合にのみ必要です。
そうは言っても、mihirpmehtaの答えは、プログラムでUI要素をビューに追加し、それらにアクションを追加する正しい方法です。
于 2010-03-30T16:37:43.840 に答える