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 框架的更多相关文章

  1. 201871010121-王方-《面向对象程序开发设计java》第十四周实验总结

    4 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/ ...

  2. ASP.NET4.5Web API及非同步程序开发系列(1)

    认识非同步程序开发设计模型 从VS2012开始引入的新的非同步程序设计的支持-------async/await设计模型 之前的当我们支持非同步作业的时候,往往使用多线程开解决,我们比较熟悉的就是 执 ...

  3. 从C#到Objective-C,循序渐进学习苹果开发(5)--利用XCode来进行IOS的程序开发

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.前面几篇随笔主要介绍C#和O ...

  4. 利用XCode来进行IOS的程序开发

    利用XCode来进行IOS的程序开发 本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换 ...

  5. 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发

    掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...

  6. 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  7. 微信小程序开发系列二:微信小程序的视图设计

    大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...

  8. 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序

    如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...

  9. 手写SpringMVC框架(二)-------结构开发设计

    续接前文, 手写SpringMVC框架(一)项目搭建 本节我们来开始手写SpringMVC框架的第二阶段:结构开发设计. 新建一个空的springmvc.properties, 里面写我们要扫描的包名 ...

随机推荐

  1. 微信开发第6章 通过accesstoken获取用户粉丝列表

    上一章我们讲解到open_id获取用户基本信息,那么open_id哪儿来的呢?就是粉丝列表中可以看到的.本次讲解如何获取粉丝列表. 获取粉丝列表 可以查看文档 http://mp.weixin.qq. ...

  2. Spring源代码解析(收藏)

    Spring源代码解析(收藏)   Spring源代码解析(一):IOC容器:http://www.iteye.com/topic/86339 Spring源代码解析(二):IoC容器在Web容器中的 ...

  3. 编码实战Web端联系人的增删改查

    首先画出分析图 实现效果如图 项目下的包如图: 实体包 package com.contactSystem.entiey; public class Contact { private String ...

  4. 使用PHPmailer发送邮件的详细代码

    一.使用PHPMailer发送邮件的原因 PHP有内置的mail()方法,但是由于一些主机空间不支持该方法,所以经常会遇到无法发送邮件的情况. 所以,可以下载PHPMailer类,实现邮件发送. 二. ...

  5. 利用URL重写实现参数目录化

    参数目录化,就是将 类似 http://www.abc.com/store/store.aspx?id=1024 这样的网址,对外改为 http://www.abc.com/1024. 要实现这种功能 ...

  6. Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

    做个打飞机的游戏,由于版本号太新,网上基本没有教教程,我的版本号是cocos2d-x 3.1.1的.今天遇到cocos2dx中中文乱码的问题.无奈仅仅好Google百度寻求答案,明确了这个问题的缘由. ...

  7. 在XMPP的JAVA开源实现Openfire中,增加LBS 附近的人功能

    1. XMPP协议 与 Openfire XMPP协议是IM领域的标准协议了,具体可参考  http://xmpp.org   及RFC6120,RFC6121,RFC6122等相关文档. http: ...

  8. android 65 文件访问权限

    package com.itheima.createfile; import java.io.File; import java.io.FileNotFoundException; import ja ...

  9. Memcached Java Client with sample program--reference

    In my previous post, I listed down most common telnet commands for memcached with sample execution t ...

  10. oracle数据库敏感操作前创建还原点

    我们都知道,在vmware虚拟机中有一个拍摄快照的功能,我们可以把系统此时的状态保存下来,一方后面遇到不测事件,也好将系统还原,oracle中也有类似功能. 首先创建一张学生表: 向学生表中插入一条数 ...