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, 里面写我们要扫描的包名 ...
随机推荐
- jquery 1.9里面已经删除了toggle(fn1, fn2)函数
转自:http://blog.sina.com.cn/s/blog_50042fab0101c7a9.html jquery 1.9里面已经删除了toggle(fn1, fn2)函数: 引用 Note ...
- fatal error LINK1123:failure during conversion to COFF:file invalid or corrupt
Visual Studio 2010编译时出现:fatal error LINK1123:failure during conversion to COFF:file invalid or corru ...
- ACMDP之最长公共子序列长度—HDU1159
Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with ...
- PAT---1005. Spell It Right (20)
#include<iostream> #include<stack> #include<string.h> ]= {"zero", " ...
- richTextBoxFontClass
使用 private void button1_Click(object sender, EventArgs e) { RichTextBoxCtrl.richTextBoxFontClass r = ...
- 百度的android采访分析
今天早上10分,我接到一个电话采访百度.当然,我说提前.我的病是多么强烈延迟.所以我也没怎么准备,当然,我也看他们的真实水平的思考.在这次审查中! ! ! ! ! !! .! ! ! !.!! !.! ...
- Java jdbc数据库连接池总结!(转)
1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...
- mybatis09
1mybatis开发dao的方法 .1SqlSession作用范围 是使用局部变量.成员变量,还是形参? 1.1.1SqlSessionFactoryBuilder SqlSessionFactory ...
- python学习笔记--easy_install和pip
"A tool for installing and managing Python packages" --pip easy_insall和pip都提供了在线一键安装模块 ...
- Linux学习笔记总结--配置iptables防火墙
将原有的iptables 文件保存一份 cp -p /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 清空现有的规则 iptables -F ip ...