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, 里面写我们要扫描的包名 ...
随机推荐
- jvm内存GC详解
一.相关概念 a. 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收 ...
- linux运维安全工具集合[持续更新中..]
lynis 安全漏洞检测工具 https://cisofy.com/download/lynis/ https://cisofy.com/files/lynis-2.2.0.tar.gz ...
- OGG-01224 Bad file number
今天在看OGG的日志时.发现例如以下OGG-01224 Bad file number错误.查阅资料才知道port不可用,看了一下mgr的參数,发现是设置的DYNAMICPORTLIST 动态port ...
- pcap的pcap_dump()保存的文件格式
(2009-09-01 20:36:49) 转载▼ 标签: 杂谈 分类: 专业 首先是tcpdump文件格式 当你在Windows或者Linux环境下用tcpdump命令抓取数据包时,你将得到如下格式 ...
- 今天给大家分享一下Android中的资源与国际化的问题
摘要:该文章将向大家分享Android中的资源与国际化的问题. 今天给大家分享一下Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layo ...
- thinkphp3.2.x版本中图片上传缩略图的解决方案
调用方式很简单 get_sc($cover_id,[$width=180,$height=auto,$cut]) @param $cover_id 图片ID___ @param $width 宽度__ ...
- navicat 数据库管理工具快捷键
最近在使用navicat 管理数据库中,因为经常要写一些sql的,但是每次都要鼠标点击运行,感觉很不爽,于是找到navicat(以下) 快捷键(最常用的): ctrl + q 打开查询窗口 ctrl ...
- JavaScript+DOM编程艺术【读书笔记】
第四章笔记: 如何让一个a标签不跳转: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www. ...
- Spring入门Hello World
这里是关于Hello World的一些基本的操作 Spring 是一个重量级的容器框架,用来配置bean并维护bean之间的关系的框架 想要最初的使用Spring就要学会最基本的配置 <1> ...
- 今天把PHP复习了一下.
记录一下今天复习内容. $_GET[''] $_POST $_SESSION $_COOKIE 常用的 $var='a'; global 全局变量$GLOBALS[''] $$var (动态变量名的变 ...