UIButton-初识IOS

今天,我学到了所有app经常用到的UIButton控件,废话不多说,这些都是我学习的时候总结的一些,希望可以帮到以后的初学者,IOS初学不应该直接拖拽,感觉不易于理解,所以我总结的基本上全是纯代码编辑

最重要的初始化:初始化,无非就是分配空间,定义大小。基本上所有的语言初始化都是这样。

  1. [UI~ alloc]:在IOS中,对象分配空间一般都是这样来分配的,当然,我们要培养一个好习惯,只要定义了对象,就要先初始化,不管用没用,要不然到时候出错了你也不知道出错在哪。
  2. initwithfram:编写对象外观,很常用的;
  3. CGRectMake(x,y,width,height):定义对象的初始位置和大小;
  4. [UIScreen mainScreen].bounds.size 这句话可以得到屏幕的大小,很好用,算是个小重点吧
    //定义一个button按钮UIButton *Button = [[UIButton alloc]initWithFrame:CGRectMake(10, 10, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

  5. [Button setTitle]定义button的title属性

  6. [forState:uicontrolstatenormal]设置Button的状态

[Button setTitle:@"按键" forState:UIControlStateNormal];

这里,我和初学者们分享一个利于编程的小窍门:comnd+你想要查看的Demo一般都可以找到你想要的东西。就像这里,你不知道Button的状态都是什么,你就可以comnd+UIControlStateNormal,就可以查到

其他的一些常用的属性设置我都不一一介绍了,初学者们也可以comnd+UIButton去找找,利于自己的理解

[Button setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 
//定义button的字体颜色
[Button setBackgroundColor:[UIColor greenColor]];
//定义button按钮的背景色
[Button.titleLabel setFont:[UIFont systemFontOfSize:20.0]];
//定义button的字体大小

  7. 加载视图,这个算是个小重点,因为很多时候会被初级开发者遗忘,导致虽然没报错,但是就是调试不出来东西

[self.view addSubview:Button]; 
//加载自己的view添加已定义的btn视图

  8. 手动定义一个按钮的点击事件

[Button addTarget:self action:@selector(btnDown:) forControlEvents:UIControlEventTouchDown];//定义一个事件名字为"btndown"并定义为UIControlEventTouchDown事件(点击事件)

这个点击状态可以有很多种,想知道的可以点进去看看。就不一一介绍了,要注意,要是你想点击有反应的话,不要把按钮设置为UIControlStateNormal 的状态,要不然会出错毕竟这不是动作,所以不会作出反应,更不会调用你的点击事件了。

  9.  定义的点击事件:

-(void)btnDown:(UIButton *)btn{NSLog(@"fire in hole");//输出
    NSLog(@"%@",btn.titleLabel.text);//输出button的title
}

如果不穿参数的话,也可以直接定义为:

-(void)btnDown{NSLog(@"fire in hole");//输出
NSLog(@"%@",btn.titleLabel.text);//输出button的title

}

他们的区别就是,第二种你没有传参数,你得不到Button的title值,报错

 

今天就到这里吧,明天继续。

转载于:https://www.cnblogs.com/IT-jqm/p/Button_test.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【APICloud系列|12】ios真机调试时如何添加新设备的udid?

很多开发者在真机调试测试ios应用时,会看到需要添加udid,搞不清这个是什么东西应该怎么获取。 udid就是手机的一个串号,相当于手机的身份证,具有唯一性。 下面介绍如何获取udid并添加到开发者中心后台。 有两种方式可以获取udid ios app真机调试到上架App Store完整…

python rtf转txt_将DOC、RTF格式文件批量转为TXT格式文件

Windows 下将目录下所有文件下的文件 拷贝到一个目录中:搜索"."安装python 及 win32com模块 pip install pypiwin32创建LDA_RTF_TXT.pyfrom glob import globimport shutilimport osimport warningswarnings.filterwarnings(actionignore,categoryUserWar…

记录常用工具

查看没有用过的资源 Improving Your Code with lint 转载于:https://www.cnblogs.com/a0000/p/4443712.html

UA Web挑战会议:针对初创公司的SpringIO

在本周,我在“后端”部分的UA Web挑战会议上发表了讲话。 我在演讲中选择了一个奇怪的话题-“面向初创企业的SpringIO”。 结果是什么? 我将在下面总结。 在过去三年中,我开发了各种个人Web项目。 我再也没有称它们为“初创企业”&#xff0…

前端开发必备的1个CSS框架

常言道:工欲善其事,必先利其器,项目紧,框架还是很有必要的。 1. Bootstrap 最初被称为Twitter Blueprint的Bootstrap,是作为内部团队使用的工具而创建的。它是最著名的前端框架之一。自公开发布以来,Boot…

C语言杂记1

C语言杂记 注意signed int 与 unsigned int 之间的比较,与运算因为当int 型变量为-1时很可能被升级成无符号整型,就导致取反1这种运算的产生,出现无法控制的很大的数。 malloc(strlen(str))绝对错误地语句,考虑字符串需要1. NULL …

python 小说分析_谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁...

jieba用起来非常简单,短短几行代码就完成了分词工作(下图),可是...仔细一看发现哪里不对了“段誉”作为一个姓名没有被单独分出来,而是和其他一些动词连在一起,另外也有一些角色名字被拆分成了两个甚至更多的单词,例如…

【APICloud系列|13】移动端适配通揽

一、为什么要移动端适配? 一般情况下设计稿的设计师按照 375 的尺寸设计,然而,在现在移动终端(就是手机)快速更新的时代,每个品牌的手机都有着不同的物理分辨率,这样就会导致,每台设备的逻辑分辨率也不尽相同,此时 375 的设计稿,如果想要还原那基本是不可能了,因为如…

初级程序员应该怎么办?

你现在工作迷茫?不防看看这几条建议 01、吃透一门编程语言 这个技能看起来似乎没有必要强调,毕竟程序员不懂一种编程语言也说不过去啊。我之所以再次强调是怕你“贪心”,以为技多不压身就拼了命的学很多种编程语言。 有个大二的学生就曾经问我:“你好呀,老哥,有个问题…

存根类 测试代码 java_有关为旧版代码创建存根的更多信息–测试技术7

存根类 测试代码 java在我的上一个博客中 ,我谈到了如何处理行为不佳的不可测试的 (1) SitePropertiesManager 类,以及如何通过提取接口来创建存根。 但是,如果由于旧类的源代码已被锁定在第三方JAR文件中而无法访问它…

skywalking使用方法_skywalking 6.2配置相关和使用

1、关于日志和项目名配置: 日志可在探针agent.config里面配置也可以在外面配置 在外面配置方式为: -javaagent:/data/path/skywalking-agent.jarlogging.file_nameagent_passport.log,logging.dir/data/applogs/skyagent/ -Dskywalking.agent.service_namepassport由于是docker…

【APICloud系列|14】xcode下载地址

下载地址:https://developer.apple.com/download/more/ 这个是使用苹果Mac下载xcode用于上架appstore打包的软件。 Windows的Xcode:在PC上安装Xcode的5种方法 参考帖子:https://blog.csdn.net/qq_36666115/article/details/86485305

kail利用msf工具对MS12-020漏洞进行渗透测试

kail利用msf工具对MS12-020漏洞进行渗透测试 MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞 kail利用msf工具对MS12-020漏洞进行渗透测试: 实验环境: 工具:metasploit 靶机两台:windows 7sp1和kali2020 攻…

float在python中的书写形式错误的是_在Python3.7.1中,编写简单的GAN时,“TypeError:”float“对象不能解释为整数”错误...

我对Python和编程是全新的。我试图编写一个简单的GAN来使用Keras数据集(参见下面的教程超链接)。我收到两个警告,然后是一个错误:TypeError: float object cannot be interpreted as an integer.任何帮助都将不胜感激。在详细信息:Python 3.7…

将25k行C#转换为Java的经验教训

由于各种原因,我最近完成了一个将复杂的财务应用程序从C#转换为Java的项目。 港口的原因大部分是非技术性的,相反,这是有关企业的一项战略举措。 这是一次有趣的经历,我在此过程中吸取了一些经验教训,可以…

Spark K-Means

K-Means(K均值) 介绍 K-Means是被应用的最广泛的基于划分的聚类算法,是一种硬聚类算法,属于典型的局域原型的目标函数聚类的代表。算法首先随机选择k个对象,每个对象初始地代表一个簇的平均值或者中心。对于剩余的每个…

【APICloud系列|30】苹果MAC电脑取消辅助功能-语音识别

方法:快捷键 “commandF5”即可。 原因是不小心出现这个辅助功能,导致我进入苹果商店输入密码不能正常切换大小写,快捷键 “commandF5”就可以正常使用

kail利用msf工具对ms17-010(永恒之蓝)漏洞入侵渗透Win7

kail利用msf工具对ms17-010(永恒之蓝)漏洞入侵渗透Win7 前言: 提到操作系统漏洞,大家肯定听说过耳熟能详的永恒之蓝(MS17-010)了,他的爆发源于WannaCry勒索病毒的诞生。 该病毒是不法分子利用…

mysql 删除版本信息_linux 删除mysql

写作背景明天项目上线,今天晚上在客户的机房进行网站的部署,在安装mysql的时候出现了一个问题,就是死活安装不上,说已经存在mysql,最后分析错误信息才知道,原来是centos 6.3 自带安装了mysql 5.1,因为我是通…

微信连接WIFI并关注公众号的方法

分享一个改造路由器来实现微信连wifi关注公众已经成为一种高效的引流方法。 前提是先有自己的路由器、认证的公众号(服务号或订阅号)、开通过门店小程序。 1.进入公众号后以此选择“微信连wifi”→“设备管理”→详情,拿到公众号的三个参数…