私が言ったように、私はInterface BuilderにUIButtonを追加し、ボタンのサブビューとしてUILabel、UIImageViewを追加したいのですが、IBではオブジェクトを追加できません。誰かがこれを行う方法を知っていますか?どうもありがとうございます。
コードを使用してそれを実現できますが、IBで実現したいので、任意のクラスで使用できます。
私が言ったように、私はInterface BuilderにUIButtonを追加し、ボタンのサブビューとしてUILabel、UIImageViewを追加したいのですが、IBではオブジェクトを追加できません。誰かがこれを行う方法を知っていますか?どうもありがとうございます。
コードを使用してそれを実現できますが、IBで実現したいので、任意のクラスで使用できます。
これは、(UIButtonの代わりに)UIViewを追加してから、UIButtonとUILabelをUIViewに追加することで以前に行ったことがあります。UIButtonからのタップは引き続き機能し、ラベルもあります。このような他のものを追加することもできます。
私は通常これを達成します
UIViewがUIButtonとまったく同じように機能するようになりました
UIButtonの代わりに、UILabelとUIImageViewをUIViewに追加してから、タップアクションを追加します。
編集1:
変更してハイライトされたカラー効果を作成するのは簡単です。次のコードを使用してください。
- (void) onViewTap:(id)sender
{
[UIView animateWithDuration:0.1
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
_view.backgroundColor = [UIColor blueColor];
}
completion:^(BOOL finished){
_view.backgroundColor = [UIColor whiteColor];
}];
//write tap actions below
}
- (void)viewDidLoad
{
_view.userInteractionEnabled = YES;
UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onViewTap:)];
[_view addGestureRecognizer:tap];
}
UIButtonカスタムボタンを作成し、それにUILabelを追加すると、UIButtonのプロパティとアクションの恩恵を受けることができます。これがお役に立てば幸いです。