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 ...
随机推荐
- 在spring+hibernaet+mysql事务处理中遇到的一些坑
spring的事务处理本来就是依赖于底层的实现,比如hibernate及数据库本身. 所以,当使用mysql数据库时,首先要确定的是,所操作的对象表是innodb格式的. 1. read-only方法 ...
- mysql 服务不见了的解决办法
昨天打开电脑mysql突然连接不了了,去服务里找,却找不到mysql服务了 解决:5.0版本:开始->运行->cmd,进到mysql安装的bin目录D:\MySQL\bin>mysq ...
- 关于JS 对象与JSON对象
Js对象 格式 : //var dataStr = '{ code: 1, msg: "修改成功", read: 1 }'; 序列化字符串为js对象: var p = eval(& ...
- MVC 笔记(二)
HttpUtility.HtmlEncode来预处理用户输入,这能阻止用户向视图中用链接注入js代码或html标记 .[Required]:非空验证 .[StringLength(**)]:设置字符的 ...
- Best Time to Buy and Sell Stock (java)
有一组数组代表股票的价格 一次买一次卖如何得到最大利润? public int maxProfit(int[] prices) { if(prices.length==0)return 0; int ...
- javascript EcmaScript5 新增对象之Object.freeze
我们都知道在js里对象是很容易改变的 var obj1 ={ a:'111' } obj1.a = '222'; console.log( obj.a ) //output 222 对象的属性发生了变 ...
- go JSON
package utils import ( "encoding/json" "errors" ) func JsonToMap(text []byte) (m ...
- VSFTP服务
互联网最开始的三大服务:HTTP.mail.FTP 一.文件服务器简介 FTP:在内网和公网使用.服务器:windows,Linux 客户端:windows,Linux samb ...
- eclipse tomcat内存设置
-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m
- hdu 5823 color II 状压dp
题目链接 给n个点 n<=18. 然后给出它们两两之间是否有边相连. 问你这个图的所有子集,最少要用多少种颜色来染色, 如果两个点相连, 那么这两个点不能染同样的颜色. 先预处理出所有的点独立集 ...