How can I addSubview to UIButton in Interface Builder

后端 未结 4 1727
轻奢々
轻奢々 2021-02-18 22:57

Like I said, I add a UIButton in Interface Builder, I want add a UILabel、UIImageView as the button\'s subviews, but I can\'t add any object on it in IB. IS anybody know how to d

相关标签:
4条回答
  • 2021-02-18 23:44

    instead of UIButton, add the UILabel and UIImageView to UIView and then add a tap action to it.

    EDIT 1:

    it's easy to change make a highlighted color effect, use the following code:

    - (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];
    }
    
    0 讨论(0)
  • 2021-02-18 23:45

    I normally achieve this by

    1. Create a new UIView in Interface Builder and set it to be the same size and location that you want your button to have
    2. Add your subviews to that UIView
    3. Set the UIView's class to UIButton in the Indentity Inspector

    Your UIView now works exactly like a UIButton

    0 讨论(0)
  • 2021-02-18 23:49

    Make your UIButton custom button, then add the UILabel on it,then the you will benefit from the UIButton properties and actions,hope this help you

    0 讨论(0)
  • 2021-02-18 23:51

    I have done this before by adding a UIView (instead of the UIButton) then add the UIButton and UILabel to the UIView. The tap from the UIButton still works and you have a label too. You can also add anything else like this.

    0 讨论(0)
提交回复
热议问题