私は完全に明白な何かを見落としているに違いない?ボタンの画像とサイズは正しく表示されますが、タイトルを表示できません。
私は本当に簡単なテストを行いましたが、これを行うとタイトルは表示されません:
CGRect frameBtn = CGRectMake(160.0f, 150.0f, 144.0f, 42.0f);
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal];
[button setTitle:@"Hello" forState:UIControlStateNormal];
[button setFrame:frameBtn];
NSLog(@"Title:%@", [button currentTitle]);
//prints "Title:Hello
[self addSubview:button];
カスタムボタンを生成するファクトリクラスがあり、そこまで細部を台無しにしたので、上記のコードをUIView
に直接移動しました。タイトルはまだ空白です。
これはバグですか、それとも単に目の前に何かが欠けているだけですか。
余分な目のセットをありがとう:)
画像はタイトルを上書きします。タイトルを表示するには、画像を背景画像にする必要があります。
[ボタンsetBackgroundImage:[UIImage imageNamed:@ "left_halfscreen_button.png"] forState:UIControlStateNormal];
似たような問題を抱えています...タイトルの色を設定するだけで、現在の色は白だと思います;)
[ボタンsetTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
問題が見つかりました!
タイトルを上書きする画像ではありません。画像でフレームをプッシュオフしています。
これを使用してみてください:
[btn setTitleEdgeInsets:UIEdgeInsetsMake(0.0, -img.size.width, 0.0, 0.0 )];
それが役に立てば幸い!
UIButton
を使用すると、ボタンはそのフレームに組み込みのサイズを使用します。
フレームを設定する必要があります。
button.frame = CGRectMake(0, 0, width, height);
またはさらに良くて快適:
[button sizeToFit];
タイトルが表示されないという同様の問題がありました。フレームプロパティを設定するのを忘れました:
//set the position of the button
button.frame = CGRectMake(100, 170, 100, 30);