代码创建

//创建UIButton

UIButton * btnType=[[UIButton alloc]init];

//设置UIControlStateNormal状态下的文字颜色

[btnType setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

//设置字体大小

btnType.titleLabel.font=[UIFont systemFontOfSize:9.0];

//设置边框的宽度

btnType.layer.borderWidth=1;

//设置边框的颜色

btnType.layer.borderColor=[[UIColor lightGrayColor]CGColor];

//设置UIControlStateNormal的文字

[btnType setTitle:@"按钮设置名字" forState:UIControlStateNormal];

//设置UIControlStateNormal的图片

[btnType setImage:[UIImage imageNamed:@"获取Assets.xcassets图片名称"] forState:UIControlStateNormal];

//设置UIControlStateNormal背景图片

[btnType setBackgroundImage:[UIImage imageNamed:@"获取Assets.xcassets图片名称"] forState:UIControlStateNormal];

//设置失效状态

btnType.enabled=NO;

监听按钮点击

//只要按钮触发了UIControlEventTouchUpInside事件,就调用self对象buttonClick方法

[btn addTarget:self action:@selector(buttonClick) forCOntrolEvents:UIControlEventTouchUpInside];

自定义按钮

-(CGRect)titleRectForContentRect:(CGRect)contentRect{

// 返回文字的frame

}

-  (CGRect)imageRectForContentRect:(CGRect)contentRect{

// 返回图片的frame

}

按钮显示的状态

设置不能点击 enabled 等于NO

adjustsImageWhenDisabled 等于NO  在Disabled下要不要调整显示的图片

adjustsImageWhenHighlighted 高亮下不要调整图片

按钮内边距

通过代码设置   contentEdgeINsets =   uiedgeInsetsMake 设置内边距

contentEdgeInsets=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

设置文字  titleEdgeInsets=uiedgeInsetsMake 设置文字的内边距

titleEdgeInsets=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

设置图片 imageEdgeInsets=uiedgeInsetsMake 设置图片的内边距

imageEdgeInsetss=UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>);

微小调整使用内边距     复杂的话使用自定义按钮

xcode UIButton创建、监听按钮点击、自定义按钮 、状态 、内边距的更多相关文章

  1. 监听当点击微信等app的返回按钮或者浏览器的上一页或后退按钮的事件

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...

  2. React-Native 之 GD (十八)监听 TabBarItem 点击与传值实现 点击 Item 进行刷新功能

    监听 TabBarItem 点击与传值实现 点击 Item 进行刷新功能 原版 APP 中当我们点击 首页和海淘 2个 Item 时,会马上获取最新数据个数然后进行更新,这边来实现一下这个功能. 1. ...

  3. Android - 监听Activity点击无效

    监听Activity点击无效 本文地址: http://blog.csdn.net/caroline_wendy Activity须要先在Manifest注冊,才干在app中使用; Manifest: ...

  4. Android监听view的attached或detached状态

    我们在开发中,希望监听View的attached或detached状态,来进行比如eventbus的注册与解注册的操作,非常的方便实用. 可以使用系统给我们提供的listener,代码使用如下: mV ...

  5. 22Flutter中的常见的按钮组件 以及自定义按钮组件

    /* Flutter中的常见的按钮组件 以及自定义按钮组件 一.Flutter中的按钮组件介绍 Flutter里有很多的Button组件,常见的按钮组件有:RaisedButton/FlatButto ...

  6. echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮

    echarts 显示下载按钮,echarts 自定义按钮,echarts 添加按钮 >>>>>>>>>>>>>>&g ...

  7. Android开发-之监听button点击事件

    一.实现button点击事件的方法 实现button点击事件的监听方法有很多种,这里总结了常用的四种方法: 1.匿名内部类 2.外部类(独立类) 3.实现OnClickListener接口 4.添加X ...

  8. JS代码实用代码实例(输入框监听,点击显示点击其他地方消失,文件本地预览上传)

    前段时间写前端,遇到一些模块非常有用,总结以备后用 一.input框字数监听 <!DOCTYPE html> <html lang="en"> <he ...

  9. js监听手机端点击物理返回键或js监听pc端点击浏览器返回键

    之前在项目中遇到一个问题,就是在微信网页上面本来是有返回按钮的,但是大多数人都为了方便,会使用安卓手机自带的物理返回键,这个返回键按下后,就会按照你浏览器的栈存储的路径来一层一层返回,就不执行你页面上 ...

随机推荐

  1. 论山寨手机与Android 【14】3G SmartPhone时代的MTK

    分析了SmartPhone的里里外外以后,现在我们可以分析MTK的机遇和挑战了.MTK面临的外部环境在发生变化,变化有两条,一是移动网络从2G演变到3G,二是手机由FeaturePhone演化到Sma ...

  2. 论山寨手机与Android联姻 【3】手机是怎样生产出来的

    要说清楚MTK在商业模式上有什么优势,以及Android对于MTK未来的手机开发会有什么影响,首先得了解手机从设计,开发到生产的整个过程.让我们先来看看手机的生产过程.在生产制造环节,山寨手机和正牌手 ...

  3. 【JSP引入报错】--package javax.servlet.jsp does not exist

    在eclipse maven中没报错的JSP在引入到netbeans的时候,JSP就报错了. 错误提示:package javax.servlet.jsp does not exist 百度找了下,有 ...

  4. iOS 唯一设备号

    https://github.com/fabiocaccamo/FCUUID 目前比较好的解决方案.

  5. python代码中pass的用法

    我们有时会在方法中写一些注释代码,用来提示这个方法是干嘛的之类,看下面代码: class Game_object: def __init__(self, name): self.name = name ...

  6. 简述Linq中.ToList(), .AsEnumerable(), AsQueryable()的区别和用法

    [TOC] 这3个方法的功能完全不同, 应按照具体业务场景使用. AsQueryable() 先说说什么是 IQueryable IQueryable 是当前的 data provider 返回的类型 ...

  7. css黑魔法

    多行文本溢出显示省略号(...)的方法 p { overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-li ...

  8. @synthesize 与@dynamic区别

    @synthesize 除非开发人员已经做了,否则由编译器自动生成getter/setter方法. 当开发人员自定义存或取方法时,自定义会屏蔽自动生成该方法. @dynamic 告诉编译器,不自动生成 ...

  9. doGet与doPost的区别

    转自:http://blog.csdn.net/luoweifu/article/details/7865243   目录(?)[-] 不同点一 不同点二 输入表单inputhtml Serlvlet ...

  10. css 中的若干心得

    css布局中定位机制主要是普通的流,也就是说按照HTML文本的顺序在窗口上从上到下.从左到右去显示,遇见块级元素就换行显示.为了更进一步的控制,我可以使用相对定位.绝对定位.固定定位以及浮动. 相对定 ...