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]; [btn.layer setMasksToBounds:YES];
[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:];
IOS UIButton 自定义的补充学习的更多相关文章
- IOS UIButton用法详解
这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用. //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWi ...
- iOS 如何自定义UISearchBar 中textField的高度
iOS 如何自定义UISearchBar 中textField的高度 只需设置下边的方法就可以 [_searchBar setSearchFieldBackgroundImage:[UIImage i ...
- iOS 隐藏自定义tabbar
iOS 隐藏自定义tabbar -(void)viewWillAppear:(BOOL)animated { NSArray *array=self.tabBarController.view.su ...
- ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色
很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴. 一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view ...
- iOS UIButton 图片文字上下垂直布局 解决方案
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...
- 转 iOS Core Animation 动画 入门学习(一)基础
iOS Core Animation 动画 入门学习(一)基础 reference:https://developer.apple.com/library/ios/documentation/Coco ...
- iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件)
最近做了个有关阅读的应用,使用了自定义字体,学习了一下这方面的知识. 1.首先是最简单也普遍的做法,打包内置字符库文件: 把字体库文件添加到工程,如font1.ttf添加到工程,然后在工程plist添 ...
- ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类
Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类.它有很多子类,有用于空间分析的,有用于空间查询的,等等. 这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法. 我将使用思 ...
- iOS UIButton文字和图片间距随意调整
代码地址如下:http://www.demodashi.com/demo/11606.html 前记 在开发中,我们经常会遇到这么一种情况,就是一个按钮上面有图片也有文字,但是往往设计并不是我们想要的 ...
随机推荐
- <系统函数实现>memcmp
这是我实现的memcmp函数: #include <stdio.h> #include <string.h> /* *int memcmp (const void *s1,co ...
- tomcat 粗略笔记
GlobalNamingResources 存在于server.xml中,定义全局公共数据源,如果host中有大量引用相同的数据源,那么可以都配在这里 <GlobalNamingResource ...
- LC串联谐振回路
- Codeforces 627 A. XOR Equation (数学)
题目链接:http://codeforces.com/problemset/problem/627/A 题意: 告诉你s 和 x,a + b = s a xor b = x a, b > ...
- QA技能必备
一 常用Linux命令 二 自动化工具
- .Net项目版本号的生成
给.Net项目编译的程序集加入版本号的方式有许多种,包括: 1. 默认的方式,在每个项目的AssemblyInfo.cs文件中指定版本号: // Version information for an ...
- vtk点云数据的显示[转]
#include "vtkActor.h" #include "vtkRenderer.h" #include "vtkRenderWindow.h& ...
- 函数WideCharToMultiByte() 详解
函数原型: int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPWSTR lpWideCharStr, int cchWideChar, ...
- (2)html文本格式化 解说
- MyEclipse 8.5 开发环境配置,汉化,Aptana2.0插件,SVN 插件,Flex Builder 3/4 插件安装(转载)
转载地址http://elf8848.iteye.com/blog/630864 下载MyEclipse 8.5 可以通过代理http://www.proxyie.cn/访问MyEclipse的官方网 ...