自定义按钮

自定义按钮

  • 在日常开发中,很多时候系统自带的UIButton不能满足我们的需要,在这个时候我们就需要自定义按钮
  • 比如:按钮中图片和文字上下排列,或者说文字在左边,图片在右边

自定义按钮步骤

  • 要弄清楚系统控件UIButton的内部结构

    • 一个UIImageView(在左边)
    • 一个UIlabel(在右边)
    • 一个UIView(因为UIButton继承自UIView)
  • 新建一个类,继承自UIButton

  • 如果可以,需要给自定义的button一个属性,传递以后要显示的图片和文字

  • initWithFrame:方法中设置button的一些属性;比如:字体颜色,字体大小等

- (instancetype)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame]) {
        self.titleLabel.textAlignment = NSTextAlignmentCenter;
        self.titleLabel.font = [UIFont systemFontOfSize:11];
    }
    return self;
}
  • imageRectForContentRect:titleRectForContentRect:方法中设置图片和标题的位置
- (CGRect)imageRectForContentRect:(CGRect)contentRect
{

}

- (CGRect)titleRectForContentRect:(CGRect)contentRect
{

}
  • 在上面两个方法中设置标题和图片的frame,有的时候是比较麻烦的,比如设置好了图片的frame,想设置title的frame的时候需要图片的数据,就比较麻烦,所以,设置frame也可以在layoutSubviews方法中设置
自定义按钮还是很简单的,希望大家都能掌握

你可能感兴趣的:(自定义按钮)