UIButton 学习知识点

UIButton(按钮):是iOS中提供的用来响应用户交互的控件,可以显示文字,也可以显示图片

核心功能:响应用户点击事件

使用时应注意两点:

  1. 创建对象使用便利构造器方法,所以无需release
  2. 记得要制定按钮的frame.

//1.创建按钮对象

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeSystem];

//2.配置相关属性

aButton.backgroundColor = [UIColor yellowColor];

aButton.frame = CGRectMake(30, 100, 300, 40);

//2.1设置按钮文字 -- 正常状态显示文字

[aButton setTitle:@"登录" forState:UIControlStateNormal];//正常状态

[aButton setTitle:@”登录你妹啊!,快去学习!”forState:UIControlStateHighlighted];//高亮状态,点击之后

//2.2 设置按钮文字颜色

[aButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];//正常状态文字颜色

[aButton setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];//高亮状态文字颜色

//2.3 给按钮添加响应事件 -- 对点击做出响应

//01:指定事件的响应对象. self -- 是当前AppDelegate类的对象

//02:指定事件的响应方法. 由target调用

//03:指定事件的响应时机.

[aButton addTarget:self action:@selector(handleAction:) forControlEvents:UIControlEventTouchUpInside];

//3.添加到父视图

[self.window addSubview:aButton];

//handleAction:方法可以有参数,但是最多只能有一个参数,而参数为点击的按钮对象

//当前AppDelegate对象调用该方法,处理按钮点击事件

- (void)handleAction:(UIButton *)sender {

//更改window的颜色 -- 灰色

//self.window.backgroundColor = [UIColor grayColor];

//随机颜色

sender.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1.0];

}

//创建新的按钮, 添加不同状态下的照片(正常状态和选中状态)

//如果要给按钮设置图片,按钮状态必须是自定义状态

UIButton *lightBtn = [UIButton buttonWithType:UIButtonTypeCustom];

lightBtn.frame = CGRectMake(30, 230, 56, 59);

//给按钮设置图片 -- Normal正常状态

[lightBtn setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal]; //图片的素材直接拖拽到工程的文件夹里边,在使用的时候将图片拖拽到双引号里边,此时显示的是图片的名字

//给按钮设置图片 -- 选中状态

[lightBtn setImage:[UIImage imageNamed:@"2"] forState:UIControlStateSelected];

//切换选中状态,不需要对按钮进行操作,修改选中属性即可

lightBtn.selected = NO;

//添加响应事件

[lightBtn addTarget:self action:@selector(handleOpen:) forControlEvents:UIControlEventTouchUpInside];

[self.window addSubview:lightBtn];

//按钮响应事件 -- 处理开关灯

-   (void)handleOpen:(UIButton *)sender {

-   //方法一:

sender.selected = !sender.selected;

//方法二:

/*

if (sender.selected == NO) {//之前是关灯

sender.selected = YES;//开灯 -- 显示选中状态图片

} else {//之前是开灯 -- 选中状态

sender.selected = NO;//关灯 -- 显示正常状态图片

}

*/

}

时间: 2024-11-05 19:09:29

UIButton 学习知识点的相关文章

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

算法学习知识点

 ACMer必备知识(这么多呀,慢慢学了-- 图论 路径问题 0/1边权最短路径 BFS 非负边权最短路径(Dijkstra)   (可以用 Dijkstra解决问题的特征) 负边权最短路径   Bellman-Ford Bellman-Ford的 Yen-氏优化 差分约束系统 Floyd 广义路径问题   传递闭包 极小极大距离 /极大极小距离 Euler Path / Tour 圈套圈算法 混合图的 EulerPath / Tour  Hamilton Path / Tour 特殊图的

深度学习知识点记录

记录深度学习知识点 相关源码:https://coding.net/u/chenxygx/p/FrameworkResearch/git/tree/master/AI 参考: TensorFlow深度学习,一篇文章就够了 TensorFlow.MXNet.PaddlePaddle 对比 TensorFlowSharp入门使用C#编写TensorFlow人工智能应用 &

《SLAM十四讲》个人学习知识点梳理

0.引言 从六月末到八月初大概一个月时间一直在啃SLAM十四讲[1]这本书,这本书把SLAM中涉及的基本知识点都涵盖了,所以在这里做一个复习,对这本书自己学到的东西做一个梳理. 书本地址:http://www.broadview.com.cn/book/4938 书本代码:https://github.com/gaoxiang12/slambook 1.SLAM概述 SLAM:即时定位与地图构建(Simultaneous Localization and Mapping) 数学描述: 一个典型的

Java基础学习之-多线程学习知识点的学习

Java语言从设计之初就把多线程作为语言的核心, 至少从以下几点可以看出: 1. Object对象的wait和notify机制. 2. Thread类在lang包中. 3. synchronized volatile关键字. 虽然多线程是Java语言本身的特性,但是线程并不是Java语言独有的东西,而是操作系统的特性.Java在语言层面进行了封装,使其使用更简单. 多线程存在的价值在哪里呢? 内存读写,磁盘IO, 网络传输的速率远远低于CPU处理数据的速度.所以在大部分场景下,CPU是闲置的.有

Java入门学习知识点汇总--第一部分

Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写. 2.标识符 标识符就是用于给 Java 程序中变量.类.方法等命名的符号. 注意几条规则: 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. 标识符不能是 Java 关键字和保留字,但可以包含关键字和保留字. 标识符是严格区分大小写

UIView 学习知识点

UI学习第一周 UIView 视图类 :代表屏幕上的一块矩形区域,在屏幕上看到的任何一个元素都是UIView或者UIView的子类 创建UIView的几大要素: //1.大小 – 宽和高 //2.位置 – 视图左上角点得坐标,x(横坐标), y(纵坐标) //3.快速创建结构体的变量的方法 CGRect -> CGREcetMake()  包含位置和大小 CGPoint -> CGPointMake() 包含位置 x和y CGSize -> CGSizeMake() 包含大小 width

python_day02 学习知识点

当天要学习知识点: 1.基本数据类型 2.字符编码 4.文件处理 1.基本数据类型 字符串str: str='hello nice to meet you Name:{name},Age:{age} ' print(str[0]) #取值 # 字符串str的常用操作 print(str[1:9:2]) #切片 步长为2 print(str.strip()) #去掉字符串前后空格 print(str.split()) #分割 可指定分割符为*或| print(len(str)) #长度 # 字符串

UIButton 学习笔记

1.UIButton 创建不需要做内存管理 原因是:用button自己的便利构造器的方式来创建对象 例子: UIButton *button =[UIButton buttonWithType:UIButtonTypeSystem]; 2.指定button的位置和大小 例子: button.frame=CGRectMake(100, 100, 150, 40); 3.设置背景颜色 button.backgroundColor =[UIColor redColor]; 4.button不用rele