OC下的自定义Button

用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{
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天均衡验收检查团抽中了樊村镇马道小学,下午五点半中心校下发通知,全镇教师驰援马道小学,帮忙卫生打扫。一声令下,全...
    红梅赞_af47阅读 149评论 0 0
  • 今天早晨,我用昨晚炖好的墨鱼排骨汤加热,添加了一些水,水沸以后,再放入一些面条,待到七分熟,关火,盖子盖着。然...
    静思得道阅读 569评论 0 0
  • 今年又一个新年过完了。96年出生的我这是第22个新年,真的感觉自己老得好快。 想想自己活的够失败,个子矮颜不高...
    芊芊office阅读 233评论 0 0
  • 让花儿开到天际去 让天使都闻到它的芬芳 跌落凡尘 像虚幻的梦一样的真 撒下种子 你守望着什么 捎来了云彩对你的问候...
    麦浪行者阅读 151评论 0 2
  • 我叫下落不明,不是失踪了,只是还没找到理想中的我而已…不过,现在来到长投,让一切都变得可能。 我是小白,长...
    彧天阅读 408评论 1 5