博客
关于我
OC Control FHXBtn(按键)
阅读量:670 次
发布时间:2019-03-15

本文共 3721 字,大约阅读时间需要 12 分钟。

无遗憾的iOS UI组件探索之左边图标按钮实现

作为一名从零开始学习iOS开发的新手,我深知技术学习的艰辛。每一个代号、一行代码背后都承载着知识和成长的痕迹。今天,我们将详细探索如何创建不同风格的左边图标按钮,助力你在iOS开发道路上少走弯路。

左侧图标按钮的核心实现

在本次探索中,我们将重点实现两种不同的左侧图标按钮及其布局设置:

1. 左侧图标按钮的基础创建

代码片段如下:

self.btn = [FHXLeftIconBtn new];self.btn.icon.img(@"home_search_normal");self.btn.iconSize = 20;self.btn.iconLeftDistance = 10;self.btn.titleLeftDistance = 5;self.btn.titlelLabel.str(@"搜索").fnt(14);self.btn.titlelLabel.textColor = [UIColor whiteColor];self.btn.addTo(self.view).border(1,[UIColor whiteColor]).borderRadius(15).bgColor([[UIColor blackColor] colorWithAlphaComponent:0.3]).makeCons(^{    make.centerX.equal.view(self.view);    make.top.equal.view(self.view).constants(250);    make.width.equal.constants(80);    make.height.equal.constants(30);});
  • icon.img(@"home_search_normal"):设置按钮左侧图标的显示内容。
  • iconSize = 20:图标的大小设置。
  • iconLeftDistance = 10:图标与按钮左侧的距离。
  • titleLeftDistance = 5:标题与图标的左侧距离。
2. 左侧图标为中心排列按钮实现
self.btn = [FHXLeftIconCenterBtn new];self.btn.icon.img(@"home_search_normal");self.btn.iconSize = 25;self.btn.titleCenterXDistance = 10;self.btn.iconRightDistance = -1;self.btn.titlelLabel.str(@"搜索").fnt(14);self.btn.titlelLabel.textColor = [UIColor whiteColor];self.btn.addTo(self.view).border(1,[UIColor whiteColor]).borderRadius(4).bgColor([[UIColor blackColor] colorWithAlphaComponent:0.3]).makeCons(^{    make.centerX.equal.view(self.view);    make.top.equal.view(self.view).constants(250);    make.width.equal.constants(70);    make.height.equal.constants(30);});
  • titleCenterXDistance = 10:标题在X轴方向上的偏移。
  • iconRightDistance = -1:图标相对于标题的右侧偏移。

左侧文本按钮的实现细节

接下来,我们将重点学习左侧带有文本的标题按钮实现。

3. 左侧标题按钮的基本配置
@property (nonatomic,strong) FHXLeftTitleBtn *btn;self.btn = [FHXLeftTitleBtn new];self.btn.icon.img(@"home_search_normal");self.btn.iconSize = 20;self.btn.iconLeftDistance = 5;self.btn.titleLeftDistance = 15;self.btn.titlelLabel.str(@"搜索").fnt(14);self.btn.titlelLabel.textColor = [UIColor whiteColor];self.btn.bgColor = [[UIColor blackColor] colorWithAlphaComponent:0.3];self.btn.addTo(self.view).border(1,[UIColor whiteColor]).borderRadius(15).makeCons(^{    make.centerX.equal.view(self.view);    make.top.equal.view(self.view).constants(250);    make.width.equal.constants(80);    make.height.equal.constants(30);});
  • bgColor:按钮的背景颜色设置。
  • borderRadius:按钮的圆角设置。
4. 左侧中心标题按钮的实现
@property (nonatomic,strong) FHXLeftTitleCenterBtn *btn;self.btn = [FHXLeftTitleCenterBtn new];self.btn.icon.img(@"home_search_normal");self.btn.iconSize = 25;self.btn.titleCenterXDistance = -10;self.btn.iconLeftDistance = 5;self.btn.titlelLabel.str(@"搜索").fnt(14);self.btn.titlelLabel.textColor = [UIColor whiteColor];self.btn.addTo(self.view).border(1,[UIColor whiteColor]).borderRadius(4).bgColor([[UIColor blackColor] colorWithAlphaComponent:0.3]).makeCons(^{    make.centerX.equal.view(self.view);    make.top.equal.view(self.view).constants(250);    make.width.equal.constants(70);    make.height.equal.constants(30);});
  • titleCenterXDistance = -10:说明在X轴方向上的中心位置偏移。

顶部图标按钮的布局案例

最后,我们将简要探讨顶部图标按钮的实现:

5. 顶部图标按钮的创建
@property (nonatomic,strong) FHXTopIconBtn *btn;self.btn = [FHXTopIconBtn new];self.btn.icon(img: @"home_search_normal").iconSize = 30;self.btn.iconTopDistance = 5;self.btn.titleTopDistance = 5;self.btn.titlelLabel(str: @"搜索").fnt(14);self.btn.titlelLabel.textColor([UIColor white]);self.btn.addTo(self.view).border(1,[UIColor white]).borderRadius(4).bgColor([[UIColor blackColor] colorWithAlphaComponent:0.3]).makeCons(^{    make.centerX.equal.view(self.view);    make.top.equal.view(self.view).constants(250);    make.width.equal.constants(40);    make.height.equal.constants(60);});
  • iconTopDistance = 5:图标顶部的偏移。
  • titleTopDistance = 5:标题顶部的偏移。

通过如上的多个案例实现,我们全面探索了左侧图标按钮及其布局设置。希望从中你能汲取到的每一行代码和布局设置,都能成为你成为一名优秀iOS开发者的基石。

转载地址:http://uuamz.baihongyu.com/

你可能感兴趣的文章
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>