Xcode-程序开发设计-01UIKit 框架
CGRect中的前缀:CoreGraphics.frameworks
UIView中的前缀:User InterFace 属于UIKit的框架
NS前缀,NS是NextStep
对象方法:辞去第1响应者- [self.num1 resingFistResponder] 或 [self.view endEditing:YES] //参数是表示是否强行退出 :将退出当前view的子控件叫出的键盘
* 将独有的方法或属性放到私有扩展(类扩展)中 不要放到.h的声明中 保证封装性。
1.IBAction:
1> 能保证方法可以连线
2> 相当于void
2.IBOutlet:
1> 能保证属性可以连线
3.常见错误
setValue:forUndefinedKey:]: this class is not key value coding
错误原因是:连线出问题了
4.Xcode5开始的一些建议
把用于连线的一些方法和属性声明在.m文件的类扩展中
5.frame\center\bounds 常用属性
1> CGRect frame:能修改位置和尺寸
2>CGPoint center:能修改位置
3>CGRect bounds:能修改尺寸(x\y一般都是0)
代码方式添加按钮 并做监听
//设置按钮点后调用的方法 传入了参数 可以识别是哪个按钮做的点击(方法名:printLine:)注意冒号
- (void)printLine:(UIButton *)button
{
NSLog(@"-------%@",button);
} - (void)viewDidLoad {
[super viewDidLoad]; // 创建指定类型的按钮 不用设置文字/颜色等信息就可以显示,是系统的样式 默认位置 0, 0
UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeContactAdd];
[self.view addSubview:addBtn];
//addBtn.center = CGPointMake(80, 80);
CGPoint center = addBtn.center;
center.x = ;
center.y = ;
addBtn.center = center; // 不使用拖线来实现按钮的监听
// id 谁来监听 SEL指向方法的指针 把方法封闭成一个SEL
//[addBtn addTarget:<#(nullable id)#> action:<#(nonnull SEL)#> forControlEvents:<#(UIControlEvents)#>]
[addBtn addTarget:self action:@selector(printLine:) forControlEvents:UIControlEventTouchUpInside]; [UIView beginAnimations:nil context:nil];
[UIView setAnimationDelay:]; // 1.创建按钮 并添加到view中
UIButton *iconButton = [[UIButton alloc] init];
[self.view addSubview:iconButton]; // 2.设置Title文字及其颜色
[iconButton setTitle:@"来点我" forState:UIControlStateNormal];
[iconButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [iconButton setTitle:@"摸我干啥" forState:UIControlStateHighlighted];
[iconButton setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted]; // 3.设置背影图片 非setImage(上方图片) png图片不用加扩展名
UIImage *btn_01 = [UIImage imageNamed:@"btn_01"];
[iconButton setBackgroundImage:btn_01 forState:UIControlStateNormal]; [iconButton setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted]; // 4.使用frame设置按钮的大小及位置
iconButton.frame =CGRectMake(, , , );
[iconButton addTarget:self action:@selector(printLine:) forControlEvents:UIControlEventTouchUpInside]; [UIView commitAnimations]; } - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
transform(改变、使...变形)的使用 ..位置、尺寸、旋转角度
transform属性默认是在初始状态的基础上进行改变状态的(平稳.....等) 是相对于最初属性的
- (IBAction)test
{
// 根据tag找到控件
//UIButton *iconButton = [self.view viewWithTag:10];
// 下边的transform属性是根据初始值来操作的 AffineTransform(几何改变) // 创建平移变化
//iconButton.transform = CGAffineTransformMakeTranslation(0, -100); // 创建缩放变化 根据比例 Scale(比例)
//iconButton.transform = CGAffineTransformMakeScale(1.2, 1.2); // 创建旋转变化 Rotate(旋转) 非角度制:45/90/180 是弧度制 pi是180度 二分之pi是90度
//iconButton.transform = CGAffineTransformMakeRotation(1.0); //下边的依据是对象当前状态为基础
//iconButton.transform = CGAffineTransformTranslate(iconButton.transform, 0, -10); //iconButton.transform = CGAffineTransformScale(iconButton.transform, 1.1, 1.1); //iconButton.transform = CGAffineTransformRotate(iconButton.transform, M_PI_2); }
Xcode-程序开发设计-01UIKit 框架的更多相关文章
- 201871010121-王方-《面向对象程序开发设计java》第十四周实验总结
4 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/ ...
- ASP.NET4.5Web API及非同步程序开发系列(1)
认识非同步程序开发设计模型 从VS2012开始引入的新的非同步程序设计的支持-------async/await设计模型 之前的当我们支持非同步作业的时候,往往使用多线程开解决,我们比较熟悉的就是 执 ...
- 从C#到Objective-C,循序渐进学习苹果开发(5)--利用XCode来进行IOS的程序开发
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.前面几篇随笔主要介绍C#和O ...
- 利用XCode来进行IOS的程序开发
利用XCode来进行IOS的程序开发 本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换 ...
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发
掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...
- 微信小程序开发系列六:微信框架API的调用
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列二:微信小程序的视图设计
大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- 手写SpringMVC框架(二)-------结构开发设计
续接前文, 手写SpringMVC框架(一)项目搭建 本节我们来开始手写SpringMVC框架的第二阶段:结构开发设计. 新建一个空的springmvc.properties, 里面写我们要扫描的包名 ...
随机推荐
- ETL工具主流产品
主流ETL产品:Ascential公司的Datastage(Datastage在2005年被IBM收购).Informatica公司的Powercenter. NCR Teradata公司的ETL A ...
- 非堵塞socket实现android手机与PC的文件传输
项目须要是通过WIFI建立手机和PC的通信,然后自己定义一个简单的协议对要传输的文件进行校验,传输的文件是2张3M的图片,要求考虑网络中断情况处理. 我这里採用的是非堵塞socket来实现的,之前查过 ...
- c的基础 1. 无符号数和补码
计算机中储存和处理的信息是以二进制信号表示的.单个的位不是是很实用,而将这些位 组合在一起,加上某种解释,即给不同的可能位模式赋予含义,我们就行表示怎样有限集合的元素,即实现各种数据结构.计算机中使用 ...
- 【c++】虚函数描写叙述符override
在C++11中为了帮助程序猿写继承结构复杂的类型,引入了虚函数描写叙述符override,假设派生类在虚函数声明时使用了override描写叙述符,那么该函数必须重载其基类中的同名函数,否则代码将无法 ...
- im消息丢失插件
https://github.com/laughin/mocamsg mocamsg Moca message interceptor Openfire网络不好的情况下经常丢消息,一般情况都是服务器端 ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- (转载)SVN 提交操作缩写(A D M R) .
前言: 今天使用SVN提交代码,发现提交后的代码找不到之前的版本. 操作的字母缩写为R.一般我们常见的操作为 A D M R A:add,新增 C:conflict,冲突 D:delete,删除 ...
- WebService学习笔记系列(四)
今天主要来看看服务端的编写及发布. 服务端的编写主要包括三个步骤: 1.编写一个接口,即SEI(server endpoint interface) 2.编写接口的实现类,即SIB (server i ...
- Android(java)学习笔记181:利用Service在后台播放背景音乐
1.在android应用程序里,有一种没有UI的类(android.app.Service)——Service.简单来说,Service是一个 background process(背景程序),通过背 ...
- pnd_4
10多天没碰代码了,刚有点精神,调了下,消除部分的逻辑都OK了! 可以做表格到DATA的部分了! 先PYTHON:excel -> xml 再tinyxml: xml -> data