UIButton 文档翻译(持续更新)
UIButton 文档翻译
继承
UIControl; UIView; UIResponder; NSObject
协议
UIFocusEnvironment,UIAppearanceContainer,NSObject,UICoordinateSpace,UITraitEnvironment,NSCoding,UIDynamicltem,UIAppearance
框架
UIKit in iOS2.0和更改版本
重要
这是一个软件开发的初级 API 文档,虽然这个文档进行了技术准确性的审查,但是它仍旧不是最后版本。这份文档信息只适用于加入苹果开发者计划的用户,苹果提供这份文档信息以帮助您快速使用这里所描述的技术和编程接口,本信息如有更改,应根据文件实现的软件与操作系统软件进行测试。本文档的新版将持续更新。
一个 UIButton 对象是一个视图,执行自定义的代码去响应用户交互。当你点击一个按钮,或者选择具有焦点的按钮,按钮能够响应任何点击事件,你可以通过按钮的文本标签或者图片来表示按钮的目的,或者可以通过两者来表达。按钮的外观是可设置的,所以你可以让按钮的样式和文本样式来匹配应用程序的设计,你可以通过编写代码或者拖拽界面生成按钮在接口文件当中。

当添加一个按钮到你的界面,请执行以下步骤:
- 设置按钮创建时的类型
- 提供一个文本字符串或者图片;按钮的尺寸适合您的内容。
- 给按钮连接一个或多个方法
- 设置自动布局来管理按钮在你的界面上的尺寸和位置
- 提供辅助信息和本地化字符串
有关基本视图行为的信息,请参阅查看适用于 iOS 的编程指南
响应按钮的监听
- 当用户点击按钮时,按钮使用目标-事件设计模式通知你的应用程序。不会直接处理触摸事件,你指定响应事件的方法或指令,该事件会触发你的方法的调用。在运行时,按键处理所有传入的触摸事件,并且响应调用你的方法。
- 你通过建立界面连接,把一个按钮绑定
addTarget:action:forControlEvents:这个方法,事件方法的签名采用三种形式,列表1:选择提供信息的表格,你需要去响应按钮的点击.
列表1 按钮的事件方法
// OC
- (IBAction)doSomething; // 做某事
- (IBAction)doSomething:(id)sender; // 通过某个对象做某事
- (IBAction)doSomething:(id)sender forEvent:(UIEvent*)event; // 通过某个对象响应某个事件做某事
// swift
@IBAction func doSomething()
@IBAction func doSomething(sender: a href="" UIButton /a )
@IBAction func doSomething(sender: a href="" UIButton /a , forEvent event: a href="" UIEvent /a )
配置按钮的外观
定义一个按钮的基本外观和行为的类型,你需要在创建这个按钮时使用 buttonWithType:这个方法或者在 storyboard 当中的文件列表当中进行选择设置。在创建按钮之后,你不能够改变它的类型,大部分情况下,会使用按钮的类型是自定义类型和系统默认类型,但是在某些特殊情况下也会使用其他类型。
注意
配置你应用程序里面所有按钮的外观时,使用外观代理对象。该按钮的类实现了外观类的方法,你可以通过代理来获取你应用程序当中所有按钮的外观,
按钮的状态
按钮有5种外观状态:默认,高亮,聚焦,选中和不可用状态。当你在接口界面添加一个按钮时,它最初的状态是默认状态,意思是按钮是可用状态但是用户不与它进行交互。随着用户与按钮进行交互,其状态改变为其他值。例如,当用户点击按钮上的标题时,按钮会变为高亮状态。
当在用户界面或者以代码形式配置按钮时,你要单独设置每个按钮的属性。在用户界面中,使用状态配置控制在属性检查器中选择合适的状态并且配置其他的属性,如果你不为属性指定特定的状态,那么按钮的类会提供一个默认的状态。例如:被禁用按钮通常为灰色,点击时不会显示高亮状态。这个类的其他属性,如:
adjustsImageWhenHighlighted和adjustsImageWhenDisabled的属性,能够改变特定情况下的默认状态。
内容
UIButton 文档翻译(持续更新)的更多相关文章
- 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新
微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...
- iOS系列教程 目录 (持续更新...)
前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...
- ASP.NET MVC 5 系列 学习笔记 目录 (持续更新...)
前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- iOS开发系列文章(持续更新……)
iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...
- 基于android studio的快捷开发(将持续更新)
对于Android studio作为谷歌公司的亲儿子,自然有它的好用的地方,特别是gradle方式和快捷提示方式真的很棒.下面是我在实际开发中一些比较喜欢用的快速开发快捷键,对于基本的那些就不多说了. ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)
我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...
- React Native之坑总结(持续更新)
React Native之坑总结(持续更新) Genymotion安装与启动 之前我用的是蓝叠(BlueStack)模拟器,跑RN程序也遇到了一些问题,都通过搜索引擎解决了,不过没有记录. 但是Blu ...
随机推荐
- dojo.declare
参考:http://www.ibm.com/developerworks/cn/web/1203_xiejj_dojodeclare/
- OC——NSArray和NSMutableArray
/*---------------------NSArray---------------------------*/ //创建数组 NSArray *array1 = [NSArray arrayW ...
- VS C4819 编译错误解决方法
偶尔用别人的代码,出现: warning C4819: The file contains a character that cannot be represented ). Save the fil ...
- Java集合框架:Set、List、Map等介绍
目录 1.Java集合类基本概念 2.Java集合类架构层次关系 1.Java集合类基本概念 在编程中,常常需要集中存放多个数据.从传统意义上来讲,数组是我们一个很好的选择,前提是我们事先已经明确知道 ...
- javascript. String方法扩张.
有时候觉得js内置的方法不够用.可自己扩充. 下面是我扩充的几个方法. 为了避免变量冲出.覆盖.利用自执行函数实现. +function (a) { a.fn = a.prototype; var f ...
- 也谈谈关于WEB的感想
距离上次在博客园发表博文已经是数年以前了,想想自己也确实有够懒惰的,实为不该. 引起我想发这篇博文的原因是 @Charlie.Zheng 所发表的 <Web系统开发构架再思考-前后端的完全分离& ...
- VMware下设置CentOS虚拟机与主机同一网段
由于在开发中经常使用到自己的电脑搭建虚拟机器进行个人开发,而虚拟机器每次登录所使用的命令行界面比较小,看起来也不舒服.以下主要对centos虚拟机器下配置与主机共享同一网段IP,通过第三方软件(put ...
- Python中yield深入理解
众所周知,python中的yield有这样的用法: def test(alist): for i in alist: yield i 这样,这个test函数就变成了一个生成器,当每次调用的时候,就会自 ...
- 发现中文版《C Primer Plus第五版》示例程序的一个错误
错误的程序出现再第17章的499页ListItemCount()和500页的Traverse()两个函数上. 原著包含所有函数定义的list.c如下: #include<stdio.h> ...
- 实现Linux下的U盘(USB Mass Storage)驱动
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...