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种外观状态:默认,高亮,聚焦,选中和不可用状态。当你在接口界面添加一个按钮时,它最初的状态是默认状态,意思是按钮是可用状态但是用户不与它进行交互。随着用户与按钮进行交互,其状态改变为其他值。例如,当用户点击按钮上的标题时,按钮会变为高亮状态。

  • 当在用户界面或者以代码形式配置按钮时,你要单独设置每个按钮的属性。在用户界面中,使用状态配置控制在属性检查器中选择合适的状态并且配置其他的属性,如果你不为属性指定特定的状态,那么按钮的类会提供一个默认的状态。例如:被禁用按钮通常为灰色,点击时不会显示高亮状态。这个类的其他属性,如:adjustsImageWhenHighlightedadjustsImageWhenDisabled的属性,能够改变特定情况下的默认状态。

内容

UIButton 文档翻译(持续更新)的更多相关文章

  1. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  2. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  3. ASP.NET MVC 5 系列 学习笔记 目录 (持续更新...)

    前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. iOS开发系列文章(持续更新……)

    iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...

  6. 基于android studio的快捷开发(将持续更新)

    对于Android studio作为谷歌公司的亲儿子,自然有它的好用的地方,特别是gradle方式和快捷提示方式真的很棒.下面是我在实际开发中一些比较喜欢用的快速开发快捷键,对于基本的那些就不多说了. ...

  7. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  8. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  9. React Native之坑总结(持续更新)

    React Native之坑总结(持续更新) Genymotion安装与启动 之前我用的是蓝叠(BlueStack)模拟器,跑RN程序也遇到了一些问题,都通过搜索引擎解决了,不过没有记录. 但是Blu ...

随机推荐

  1. FineUI

    window间传值: Window1.GetSaveStateReference(new string[] { TextBox1.ClientID, ak.ClientID })收 ActiveWin ...

  2. jdbc select

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  3. 实现一个宽和高都是100像素的div可以用鼠标拖拽移动的效果

    html,body{ width:100%;height:100%;margin:0px;padding:0px; } #box{ width:100px;height:100px;backgroun ...

  4. 使用NODEJS+REDIS开发一个消息队列以及定时任务处理

    作者:RobanLee 原创文章,转载请注明: 萝卜李 http://www.robanlee.com 源码在这里: https://github.com/robanlee123/RobCron 时间 ...

  5. 配置managed server

    managed server往往是部署应用程序的server,所以最好在weblgoic上配置上managed server,不要把应用程序直接部署到admin server上. 一.受管服务器的创建 ...

  6. AngularJS如何给动态添加的DOM中绑定事件

    正常情况(即非动态插入 DOM 对象)下,ng-click 这样的指令之所以有效(即点击之后能调用注册在可见作用域里的方法),是因为 angular 在 compiling phase(编译阶段)将宿 ...

  7. phpStudy速度慢的解决办法

    1.修改mysql数据库链接地址为ip地址127.0.0.1. 2.使用最新版本,这个坑了我好久时间.

  8. fdisk -l 找不到分区怎么办?想办法找到隐藏分区。

    centos6.6 装系统的时候,选取系统默认分区.装好后发现少了一大部分空间,通过fdisk -l 找不到分区,另外使用 parted -l 同样找不到消失的柱面. 如: [root@mysql]# ...

  9. Big Number

    问题陈述: 杭州电子科技大学 HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1018 问题解析: 公式一: n! = 10^m => lg( ...

  10. 你与优秀源码之间只差一个 Star

    fir.im Weekly - 你与优秀源码之间只差一个 Star   说起开源社区,Github 是一个不可缺少的存在.作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者 ...