欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OC下的自定义Button

程序员文章站 2024-03-26 08:12:41
...

用OC实现自定义按钮的图片和文字布局

实现按钮中的文字和图片自定义布局的方法很简单,只要在按钮添加到父视图之前获取到文字和图片属性,修改其frame就行,这里介绍一种设置的方法

- (instancetype)initWithFrame:(CGRect)frame{

     self = [super initWithFrame:frame];

    if (self) {

    self.backgroundColor = [UIColor whiteColor];

    self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;

    [self setTintColor:[UIColor blackColor]];

  }

  return self;

}

//重写该方法可以改变图片显示的位置
//2018年06月22日 更正一下实现方法,在获取到图片时再进行布局
- (CGRect)imageRectForContentRect:(CGRect)contentRect{

    if (self.currentImage) {
        contentRect.size.width = self.currentImage.size.width;
        contentRect.size.height = self.currentImage.size.height;
        contentRect.origin.x = (self.bounds.size.width - contentRect.size.width)/2;
        contentRect.origin.y = 0;
    }
    return contentRect;

  }

//重写该方法可以改变文字显示的位置

- (CGRect)titleRectForContentRect:(CGRect)contentRect{

     contentRect.size.height *= 0.10;

    contentRect.origin.y = (self.bounds.size.height * 0.7);;

    return contentRect;

  }

//屏蔽自灰效果
- (void)setHighlighted:(BOOL)highlighted{
}