これは私の最初の投稿です。どんな助けでも大歓迎です。UIButtonsを作成する方法
多くのUIButtonをプログラムで作成する必要がありますが、多くのボタンがあるとコードがかなり乱雑になりますので、UIbutton、文字列、UIcolorを入力と設定にするメソッドを記述しました。残りのUIButton属性は私のものです。問題は、ボタンが作成されていないように見えることです。私は可能なことをしようとしているのですか、それとも間違っているのでしょうか?
方法
-(void)makeButton:(UIButton *)name titleOfButton:(NSString *)title buttonColor:(UIColor *)color {
name =[[UIButton alloc] initWithFrame:(CGRectMake(400,400,150,100))];
[name setAlpha:(0.5)];
[name setBackgroundColor: color];
[name setTitle:title forState:UIControlStateNormal];
name.titleLabel.font = [UIFont systemFontOfSize:16];
name.titleLabel. numberOfLines = 0; // Dynamic number of lines
name.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
name.titleLabel.textColor = [UIColor blackColor];
[myView addSubview:name];
}
及びメソッドを呼び出す
[self makeButton:JDLabel
titleOfButton:@"JD"
buttonColor:[UIColor redColor]];
方法は、クラスの先頭にヘッダーファイルとボタンで宣言されています。
このメソッドを呼び出した後、そのJDLabelで何かしていますか?あなたがこのメソッドを書いたように、この "名前"パラメータはまったく役に立たず、削除することができます。メソッドを呼び出した後、パラメータJDLabelにボタンが必要な場合は、より良い方法があります。 –
迅速な対応をありがとう。あなたと@hemantに答えるために、私はプログラムで作成しなければならなかった+10個のボタンを持っています。私が周りを遊んでいるARアプリのその部分は、必要に応じてボタンを別の方法からのビューの中心に置いています。これを行う主な理由は、コードを整理して後でボタンを追加しやすくすることです。 – sjhtaylor
さて、あなたがやっていることは、正しいことです。 "myView"がnilでなく、正しいビューであれば、デバッグを試みてください。そして、指摘されたようにいくつかの問題があります。あなたは常にメソッドのメモリリークを持ってARCを使用しない限り、ボタンの同じ位置を使用する "名前"パラメータは無用です、あなたは新たに作成されたボタンへの直接の参照を持っていない、ボタンに追加されたターゲットはありません...あなたが始めるための答えとしていくつかのコードを投稿してください。 –