当前位置: 首页 > 编程日记 > 正文

iOS:转载:UIControl的使用

主要功能:

UIContol(控件是所有控件的基类 如:(UIButton)按钮主要用于与用户交互,通常情况下我们不会直接使用UIControl,而是子类化它。

常用属性:

BOOL enabled

   空间默认是启用的,要禁用控件,可以将enabled属性设置为NO,这样将导致控件会略任何触摸控件事件。被禁用后,控件还可以用不同的方式显示自己,

比如变成灰色不可用。由空间的子类完成的,这个属性却存在于UIControl中。

实例演示:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(40, 60, 100, 60)];button.backgroundColor = [UIColor orangeColor];button.enabled = NO;[button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button];- (void)onButton{NSLog(@"button被点击");
}//不会有输出结果,因为button的事件被禁用。

BOOL selected;

当用户选中控件时,UIControl类会将其selected属性设置为YES。子类有时使用这个属性来让其选择自身,或者来表现不同的行为方式。

布局方式:

UIControlContentVerticalAlignment:垂直对齐方式

1.UIControlContentVerticalAlignmentCenter   //居中
2.UIControlContentVerticalAlignmentTop       //置顶
3.UIControlContentVerticalAlignmentBottom  //底部
4.UIControlContentVerticalAlignmentFill       //填充全部

UIControlContentHorizontalAlignment:水平对齐方式

1.UIControlContentHorizontalAlignmentCenter  //居中
2.UIControlContentHorizontalAlignmentLeft     //居左
3.UIControlContentHorizontalAlignmentRight   //居右
4.UIControlContentHorizontalAlignmentFill       //填充全部

UIControl介绍(二)

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

UIControl类的提供的标准机制,来进行事件登记和接收。这可以指定控件在发生特定事件时,通知代理的一个方法。此方法用于注册一个事件,事件可以用逻辑OR合并在一起,因此可以在一次单独的addTarget调用中指定多个事件,下列事件为基类UIControl所支持,除非另有说明,也是用所有控件:

UIControlEventTouchDown

单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候触发 
例如:[button addTarget:self action:@selector(onButton) forControlEvents:UIControlEventTouchDown];

UIControlEventTouchDownRepeat

多线触摸按下事件,点触计数大于1:用户按下两根手指以上时候触发

UIControlEventTouchDragInside

当一次触摸在控件窗口内拖动时

UIControlEventTouchDragUotside

当一次触摸在控件窗口之外拖动时

UIControlEventTouchDragEnter

当一次触摸从控件窗口之外拖动到内部时

UIControlEventTouchExit

当以一次触摸从控件窗口内部拖动到外部时

UIControlEventTouchUpInside

所有在控件之内触摸抬起事件

UIControlEventTouchOutside

所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)

UIControlEventTouchCancel

所有触摸取消事件,即依稀触摸因为放上了太多手指而被取消或者被上锁或者电话呼叫打断

UIControlEventTouchChanged

当控件的值发生改变时,发送通知。用于滑块,分段控件以及其他取值的控件

UIControlEventEditingDidBegin

当文本控件中开始编辑是发送通知

UIControlEventEditingChanged

当文本控件的文本被改变时发送通知

UIControlEventEditingDidEnd

当文本控件编辑结束时发送通知

UIControlEventEditingDidOnEit

当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知

UIControlEventEditingEvents

通知所有关于文本编辑的事件

UIControlEventAllEvents

通知所有事件

UIControl介绍(三)

常用方法

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

删除一个或多个事件的响应动作,可以是使用UIControl类的removeTarget.使用nil值就可以将给定事件的目标所有动作删除:

注册事件的时候,方法签名有两种:

  • -(void)onEventMethod:(UIControl *)sender;
  • -(void)onEventMethod;
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!


本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4764774.html,如需转载请自行联系原作者

相关文章:

fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出

格式化输入输出 1. fprintf&#xff08;格式化输出数据至文件&#xff09; 相关函数 printf&#xff0c;fscanf&#xff0c;vfprintf 表头文件 #include<stdio.h> 定义函数 int fprintf(FILE * stream, const char * format,.......); 函数说明 fprint…

毕业后五年之内将决定你的一生

大家千万不要错过这篇文章&#xff0c;毕业2年多了&#xff0c;能看到这篇文章也是一种幸运&#xff0c;真的受益匪浅&#xff0c;对我有很大启迪&#xff0c;这篇文章将会改变我的一生&#xff0c;真的太好了&#xff0c;希望与有缘人分享&#xff0c;也希望对有缘人有所帮助&…

达沃斯议程对话会:张亚勤解读人工智能发展 3R 原则

在国内外新冠疫情持续的特殊形势下&#xff0c;2021年世界经济论坛“达沃斯议程”对话会于1月25日至29日以线上形式举行。此次论坛上&#xff0c;全球70多个国家和地区的1500多位政商界和社会组织领导人围绕“把握关键之年&#xff0c;重建各方信任”这一主题&#xff0c;就如何…

The note of Developing Innovative Ideas for New Companies Course

This course is free on the Coursera Site&#xff0c;But it only has English version Threee pieces of the course overview&#xff1a; 1、opportunity analysis Canvas 2、business model Canvas&#xff1a;执行与验证 3、business plan 1.3&#xff1a; By first und…

C语言的一个关键字——static

C语言的一个关键字——static Static在C语言里面有两个作用&#xff0c;第一个是修饰变量&#xff0c;第二个是修饰函数。 1、Static修饰变量 按照作用范围的不同&#xff0c;变量分为局部变量和全局变量。如果用static修饰变量&#xff0c;不论这个变量是全局的还是局部的都是…

Android常用URI收藏

http://www.android-study.com/jichuzhishi/338.html转载于:https://www.cnblogs.com/hyzhou/p/3286550.html

Teradata推出Vantage on Azure,可实现自助配置、快速部署,提供安全、可扩展的高性能分析

云数据分析平台公司Teradata今日宣布推出全新Teradata Vantage on Azure 服务&#xff0c;帮助客户在部署其Teradata Vantage 环境时&#xff0c;将Vantage的强大功能与Microsoft Azure 基础架构的敏捷性和灵活性更好地结合&#xff0c;以更轻松地成为具有一流分析能力的数据驱…

布巴内斯瓦尔成智慧城市 印小城何以“智慧”

在2月14日举行的布巴内斯瓦尔市“智慧生活日”活动中&#xff0c;学生们集体练习瑜伽。 核心阅读 印度打造百座“智慧城市”计划日前取得阶段性成果&#xff0c;综合评分领先的20座城市成为今后5年印度城市发展首批资助对象。 位于印度东部奥里萨邦的布巴内斯瓦尔市在本次评选中…

摘自一个读者读后rework的感受

2019独角兽企业重金招聘Python工程师标准>>> 读了《Rework》这本书好多遍&#xff0c;每次读都有不同的感想。但从来没有把这些感想记录下来&#xff0c;今天把《Rework》书中的一些章节做一些摘录&#xff0c;并把我的一些感想总结出来。供大家参考。这是一本平生以…

web.config文件详解

(一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点&#xff1a; 位于配置文件的顶部&#xff0c;包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。 可以定义应用程序的全局常量…

Go 语言这一年

作者 | 白明 责编 | 张文来源 | 本文转载自 TonyBai题图 | 自视觉中国2020&#xff0c;这一六十年一遇的庚子年的确“名不虚传”。在这一年发生了很多事&#xff0c;而最受瞩目的事情莫过于新冠疫情的全球大流行。疫情给全球的经济带来了近似毁灭性的打击&#xff0c;给人们的…

JMeter入门(1):JMeter总体介绍及组件介绍

一、JMeter概述JMeter就是一个测试工具&#xff0c;相比于LoadRunner等测试工具&#xff0c;此工具免费&#xff0c;且比较好用&#xff0c;但是前提当然是安装Java环境&#xff1b;JMeter可以做(1)压力测试及性能测试&#xff1b;(2)数据库测试&#xff1b;(3)Java程序的测试&…

在Linux平台上如何使用接静态库和共享库

1、Linux函数库介绍 函数库可以看做是事先编写的函数集合&#xff0c;它可以与主函数分离&#xff0c;从而增加程序开发的复用性。Linux中函数库可以有3种使用的形式&#xff1a;静态、共享和动态。 1) 静态库的代码在编译时就已连接到开发人员开发的应用程序中&#x…

GSA+麦肯锡开年首场线上活动:汽车半导体要变天?

作者 | 白露 . L来源 | GSA全球半导体联盟首场GSA主办的行业活动将于2月初拉开序幕。本次线上研讨会聚焦汽车行业&#xff0c;将于北京时间2021年2月12日举行&#xff0c;是GSA与麦肯锡公司&#xff08;McKinsey&#xff06;Company&#xff09;合作的自动驾驶时代的半导体项目…

poj 1185(状压dp)

题目链接&#xff1a;http://poj.org/problem?id1185 思路&#xff1a;状态压缩经典题目&#xff0c;dp[i][j][k]表示第i行状态为j,(i-1)行状态为k时最多可以放置的士兵个数&#xff0c;于是我们可以得到递推方程&#xff1a;dp[i][j][k]max(dp[i][j][k],dp[i-1][k][l]num[j])…

存储能否导致ESXi网络性能问题?

管理员应该如何判断存储是否能够引起ESXi服务器当中的网络性能问题呢? 虚拟机非常依赖存储资源&#xff0c;因此如果存储产生的延迟过大&#xff0c;那么会在一定程度上导致虚拟机糟糕的性能表现。幸运的是&#xff0c;虚拟化管理可以使用多种可用工具和策略来诊断潜在的存储问…

ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!

在ASP.NET2.0中&#xff0c;ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本。具有相同的键和类型的脚本被视为重复脚本。因此&#xff0c;我们可以使用脚本类型来避免混淆可能用在页中的来自不同用户控件的相似脚本。 <html><head><title>Cli…

这25条极简Python代码,你还不知道

作者 | 小F来源 | 法纳斯特头图 | 下载于视觉中国自从我用Python编写第一行代码以来&#xff0c;就被它的简单性、出色的可读性和特别流行的一行代码所吸引。下面&#xff0c;我将给大家介绍一些Python一行程序。可能有些你还不知道&#xff0c;但对你未来的Python项目很有用。…

Fluke OTDR新增SmartLoop双向测试功能

通信仪表公司Fluke网络日前为其OptiFiber Pro OTDR产品增加SmartLoop双向测试功能&#xff0c;从而可以支持在一端同时测试双向两根光纤的故障。 SmartLoop双向测试功能基于Fluke专利的算法可以实现两根光纤一次性的自动化测试&#xff0c;同时提供单独的pass/fail分析&#xf…

用Response.Write和Page.RegisterStartupScript显示的提示框有什么区别

RegisterStartupScript是在表單尾部加有script代碼,即</form>前 RegisterClientScriptBlock是在表單開始處加script代碼&#xff0c;即<form>後 Response.Write是在文件的開頭添加script代碼 再按html的順序執行

[C语言]切换桌面

第一次到园子发贴&#xff0c;一些格式还不熟&#xff0c;慢慢改吧... 功能&#xff1a;能从当前当前桌面A切换到另一个桌面B&#xff0c;然后还能切换回桌面A&#xff0c;而且保持桌面A上原有的那些文件的位置和顺序&#xff1b;当然&#xff0c;如果你再切换到桌面B&#xff…

重磅:Python/Java/C 2020年之争!谁是你心中的NO.1?

Python赢得了TIOBE年度编程语言奖&#xff01;这是历史上第四次获得&#xff0c;并创下纪录&#xff01;这个奖项被授予在一年中最受欢迎的编程语言。Python流行度在2020年实现了2.01&#xff05;的正增长。编程语言C 紧随其后&#xff0c;增长了1.99&#xff05;。其他获奖者是…

Windows遭遇史上最大攻击:微软却在疯狂圈粉

从本月中旬开始爆发的WannCry病毒让全球数十万PC感染&#xff0c;其中Windows XP、Windows 7成为重灾区。 原本想着如此严重的漏洞攻击肯定会让微软信誉扫地&#xff0c;导致大量用户逃离Windows系统。 但事实证明&#xff0c;微软竟然活生生将一场“史上最大危机”&#xff0c…

获取GridView中的某列值

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e){string id GridView1.Rows[e.NewEditIndex].Cells[0].Text;Response.Redirect("TempletEdit.aspx?id" id);}

程序员硬核“年终大扫除”,清理了数据库 70GB 空间

作者 | Haki Benita编译 | 伍杏玲出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】春节将至&#xff0c;俗话说“腊月二十四&#xff0c;掸尘扫房子”&#xff0c;很多人会在腊月二十四给家里做大扫除迎新春。近年来数据呈爆发式增长&#xff0c;你…

匹配ip等的正则式

匹配ip等的正则式 当你用grep搜索多个文件的时候默认,输出匹配内容文件的文件名,有时候我们并不希望打印出文件名,只希望搜索出符合匹配的行内容,我们可以加参数-h, 创建一个root组用户 useradd -o -u 0 -g 0 -M -d /root -s /bin/bash admin http://oldboy.blog.51cto.com/256…

供给侧改革与去产能对安防产业啥影响

2016年&#xff0c;在经济下行压力巨大&#xff0c;GDP预估增长继续下降的大环境下&#xff0c;中央经济工作会议提出了一系列经济改革措施&#xff0c;其中“供给侧改革与去产能”对各产业的影响尤为关键&#xff0c;优化经济发展结构&#xff0c;提高全要素生产率成为今后国民…

DataTable中数据记录的统计

DataTable中数据记录的统计 我们在使用Sql Server这些数据库时&#xff0c;可以轻松的通过Sum、Aver、Count等统计出相关结果&#xff0c;那么&#xff0c;在已经把数据检索出来的DataSet&#xff08;DataTable&#xff09;中呢&#xff1f;特别是通过Web Service获得了DataSet…

快速上手微软 “群策 MARO” 平台,打造简易的共享单车场景

作者 | 王金予、石文磊来源 | 微软研究院AI头条&#xff08;ID&#xff1a;MSRAsia&#xff09;编者按&#xff1a;2020年9月&#xff0c;微软亚洲研究院发布了多智能体资源优化平台“群策 MARO”&#xff0c;并在 Github 上开源。近日&#xff0c;MARO 更新了0.2版本&#xff…

pip 代理设置,坑爹的代理继续

Linux ubuntu 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux 一开始只是试用了export http_proxyhttp://ip:port&#xff0c;然后执行sudo -E pip install requests的时候总是报 Cannot fetch index base URL http://pypi.pyth…