19

就像我说的,我在Interface Builder中添加了一个UIButton,我想添加一个UILabel、UIImageView作为按钮的子视图,但是我不能在IB中添加任何对象。有人知道该怎么做吗?非常感谢。

我可以使用代码来实现它,但我想在 IB 中实现它,所以我可以在任何我想要的类中使用它。

4

4 回答 4

21

我之前通过添加 UIView(而不是 UIButton)然后将 UIButton 和 UILabel 添加到 UIView 来完成此操作。UIButton 的点击仍然有效,并且您也有一个标签。你也可以像这样添加任何东西。

于 2012-11-14T08:11:40.983 回答
5

我通常通过

  1. 在 Interface Builder 中创建一个新的 UIView 并将其设置为您希望按钮具有的相同大小和位置
  2. 将您的子视图添加到该 UIView
  3. 在 Indentity Inspector 中将 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 回答