创建一个类"DetailButton.h"继承自UIButton

@interface DetailButton : UIButton

- (instancetype)initWithFrame:(CGRect)frame {

if (self = [super initWithFrame:frame]) {

// 设置按钮的其他属性

self.titleLabel.textAlignment = NSTextAlignmentLeft;

self.titleLabel.font = [UIFont systemFontOfSize:16.0];

[self setBackgroundColor:[UIColor clearColor]];

}

return self;

}

// 重写layoutSubviews方法,手动设置按钮子控件的位置

- (void)layoutSubviews {

[super layoutSubviews];

self.imageView.frame = CGRectMake(10, (self.frame.size.height-25)/2, 25, 25);

self.titleLabel.frame = CGRectMake(CGRectGetMaxX(self.imageView.frame)+10, 0, self.frame.size.width-CGRectGetMaxX(self.imageView.frame)-10, self.frame.size.height);

}

//使用DetailButton

DetailButton *button = [DetailButton buttonWithType:UIButtonTypeCustom];

iOS 重写UIButton相关推荐

  1. iOS重写和成员变量访问权限

    iOS重写和成员变量访问权限 一.重写机制 1.覆盖父类的方法 2.对父类方法做进一步的补充 注意:父类声明过得方法,子类无需声明. * 子类如果重写了父类的方法: 1.父类的指针指向子类的对象,则调 ...

  2. IOS重写unity Splash,消除黑屏,播放开场动画视频

    IOS重写unity Splash,消除黑屏,自定义开场动画视频,无需破解 此教程只使用于unity5.x系列,2018请看我新发的教程 因为自己使用的unity是免费版,无法去除splash,所以在 ...

  3. 【iOS】UIButton 图标在上文字在下

    iOS默认的UIButton是图片在左文字在右,但是很多时候需求是图片在上文字在下(如效果图1.效果图2),因此想到,通过写一个JXButton继承自UIButton,并重写相关方法即可,以后项目中需 ...

  4. iOS 让UIButton根据文字内容自动计算宽高

    Xcode自带的UIButton控件是没有办法根据文字内容计算自身的宽和高的,下面演示一下问题, 我用代码方式创建一个UIButton,并且设置了一些属性,下面看一下效果图 一切都是这么的美好,跟我们 ...

  5. iOS 实现UIButton加小红点

    在iOS开发过程中经常需要实现这样一个需求在某个按钮上方添加一个小红点,或者是加一个带数字的消息提醒红点,如下图所示的效果:             类似上面的效果如何实现呢,其实早有大神给造出了轮子 ...

  6. iOS在UIButton中换行

    在iOS6.0以上,可以设置 UIButton.titleLable.lineBreakMode = NSLineBreakByWordWrapping;UIButton.titleLabel.tex ...

  7. ios的 UIButton

    -(IBAction) buttonClick:(id)sender   //sender参数,表示接受哪个按钮消息 { UIButton *button = (UIButton *)sender;  ...

  8. iOS 自定义UIButton

    工作中有一个点击button更新button上文案的需求,用自定义了button可以很简单的实现的这个需求 首先写个自定义的button CustomButton.h #import <UIKi ...

  9. IOS开发UI-------button

    button的初始化方法 //凡是继承于UIControl的控件都具有相应事件点击的能力UIButton *button = [UIButton buttonWithType:UIButtonType ...

最新文章

  1. Python使用matplotlib可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)
  2. html5主要是针对哪方面行优化,前端知识点总结(HTML篇)
  3. 【错误记录】未安装该应用 ( 在 Android 12 之后 组件设置 android:exported=“false“ 属性 )
  4. dos中for in后面执行多个命令的方法
  5. linux 文件系统 vfs,linux虚拟文件系统vfs
  6. WAMP 2.2 配置与IIS共用单IP,多域名多网站配置方法
  7. 大数据场景中语言虚拟机的应用和挑战
  8. __try,__except,__finally,__leave
  9. 使用SQL PLUS生成报表
  10. Linux的TCP接口介绍
  11. Android 百度地图 SDK v3.0.0 (一)
  12. 一文讲清楚【KL距离】、【torch.nn.functional.kl_div()】和【torch.nn.KLDivLoss()】的关系
  13. 「图像处理」C#+AForge.Net+DlibDotNet实现人脸识别
  14. Chrome DevTools 中键盘快捷键的参考。
  15. 怎样申请微信公众号/如何开通微信订阅号
  16. 批量无损压缩图片大小的工具Voralent Antelope
  17. 微服务时代之2017年五军之战:Net PHP谁先死
  18. 彻底删除GitHub仓库的某个文件或文件夹及其历史记录
  19. RF:Robot命令行工具帮助文件中文译版(个人翻译)
  20. 数组中的元素转成Number或者String---数组map方法

热门文章

  1. 华为g9青春版连接计算机,华为G9青春版 移动4G(VNS-TL00)一键救砖教程,轻松刷回官方系统...
  2. Spring Security Oauth2 JWT----单点登录、注销、续签的问题
  3. 【Lintcode】1645. Least Subsequences
  4. PSINS_Toolbox使用心得1
  5. 3.6.2 找出分区的主副本
  6. 2016小米校招笔试题
  7. 怎样用计算机计算度分秒的计算器,如何用计算器把角度换成度分秒??
  8. ios文件app访问samba服务器,ios链接samba服务器
  9. 红队渗透测试技术:如何通过鱼叉式网络钓鱼获得攻击机会?
  10. 台式电脑打不开计算机c盘,电脑打不开显示C盘损坏怎么办