IOS UIButton 自定义的补充学习

一直自定按钮 遇到两个做的不好的地方。

1 是按钮响应方法时候状态自定义不好看 按压感不明显

2 是button上的title 是我自己用label写上去的 而不是用button的属性

这两天终于运用自如了。解决以上两个问题方法如下(待补充)

1.系统自带的按压感会随着自定义图片的颜色 或者是背景色深浅 可能会出现 按压的视觉效果不明显的状况 所以

 我这里自定义一个高亮状态的图片背景 效果可观

先上图看效果

两行关键代码如下

[btn setBackgroundImage:[UIImage imageNamed:@"bg_home_tab.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"set_line_single@2X.png"] forState:UIControlStateHighlighted];<br><br>[btn.layer setMasksToBounds:YES];<br>[btn.layer setCornerRadius:5.0];//设置矩形四个圆角半径

 

 这样就流畅的展示了按钮的响应状态

至于两张图片 我使用的都是一个单位的像素条 扁平化风格 也可以尝试选择别的样式

2.我说我之前写按钮标题 都是写一个label  在上面 而不是用UIButton的属性设置title,因为之前我的写法是 :

btn.titleLabel.text=@"提交";

然后按钮上啥都没有,我就自己写label了 现在才知道 btn 继承于UIView   不能用view 的属性去同样的方式写btn 的title 

正确实践方法如下:

[btn setTitle:@"提交" forState:UIControlStateNormal];//关键是这句写标题
btn.titleLabel.textColor
=[UIColor whiteColor]; //设定标题颜色
btn.titleLabel.font
=[UIFont systemFontOfSize:15];

 

posted on   ACM_Someone like you  阅读(431)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示