19

私が言ったように、私はInterface BuilderにUIButtonを追加し、ボタンのサブビューとしてUILabel、UIImageViewを追加したいのですが、IBではオブジェクトを追加できません。誰かがこれを行う方法を知っていますか?どうもありがとうございます。

コードを使用してそれを実現できますが、IBで実現したいので、任意のクラスで使用できます。

4

4 に答える 4

21

これは、(UIButtonの代わりに)UIViewを追加してから、UIButtonとUILabelをUIViewに追加することで以前に行ったことがあります。UIButtonからのタップは引き続き機能し、ラベルもあります。このような他のものを追加することもできます。

于 2012-11-14T08:11:40.983 に答える
5

私は通常これを達成します

  1. Interface Builderで新しいUIViewを作成し、ボタンと同じサイズと場所に設定します
  2. そのUIViewにサブビューを追加します
  3. IndentityInspectorでUIViewのクラスをUIButtonに設定します

UIViewがUIButtonとまったく同じように機能するようになりました

于 2015-08-23T21:21:27.530 に答える
1

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];
}
于 2012-11-14T08:02:22.330 に答える
0

UIButtonカスタムボタンを作成し、それにUILabelを追加すると、UIButtonのプロパティとアクションの恩恵を受けることができます。これがお役に立てば幸いです。

于 2012-11-14T08:07:25.307 に答える