iOS学习1_初体验
来源:互联网 发布:catia软件旋转快捷键 编辑:程序博客网 时间:2024/04/28 04:56
UIView:所有控件的父类,每个UIView也是一个容器,可以容纳其他的UIView
UIController:用来控制UIView,负责创建/销毁自己的UIView,显示/隐藏UIView,处理UIView和用户交互(事件处理)
界面的创建过程,先创建一个ViewController,再由其创建自己的UIView,最后把UIView显示到用户眼前,并且由UIViewController处理UIView的事件。
程序的启动过程:
加载配置为main的storyboard,创建白色箭头只想的控制器对象,接下来创建控制其内部的UIView,显示到用户面前。
构件界面的两种方式:
1. 使用storyboard
要使用某个控件需要在控制器文件中声明该属性,并将其和控件连线。并且需要将该属性声明为IBOutlet类型
添加事件监听的时候需要将该方法声明为IBAction,然后将控件的某个事件和该方法连线
点击事件执行的方法
- (IBAction)run:(id)sender{ [self execWithBlock:^{ CGRect tempFrame; switch ([sender tag]) { case 1: tempFrame = self.btn.frame; tempFrame.origin.y += 10; self.btn.frame = tempFrame; break; case 2: // 旋转 //tempCenter = self.btn.center; _btn.transform = CGAffineTransformRotate(_btn.transform, -1*M_PI_4); //self.btn.center = tempCenter; break; case 3: // 放大 _btn.transform = CGAffineTransformScale(_btn.transform, 1.2, 1.2); break; case 4: // 复位 self.btn.transform = CGAffineTransformIdentity; break; }}];}
-(void) execWithBlock:(void(^)())block{ // 设置动画 [UIView beginAnimations:nil context:nil]; //设置动画的时间 [UIView setAnimationDuration:1]; block(); [UIView commitAnimations];}
2.使用代码动态生成
需要在viewDidLoad方法里面构建控件,并将其添加到父UIView里面
UIButton * btn = [[UIButton alloc]init]; btn.frame = CGRectMake(0, 0, 100, 100); [btn setTitle:@"哈哈" forState:UIControlStateNormal]; [btn setTitle:@"呵呵" forState:UIControlStateHighlighted]; [btn setBackgroundColor:[UIColor redColor]]; [btn setBackgroundColor:[UIColor greenColor]]; [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:btn];
-(void) click:(id)btn{ [btn setBackgroundColor:[UIColor blackColor]];}
使用storyboard创建界面和使用代码是一样的效果,在storyboard里面连线后就可以将控件和声明的属性关联起来。
1 0
- iOS学习1_初体验
- IOS学习笔记-OC初体验
- iOS学习一_Xcode初体验
- IOS开发学习体验
- iOS学习笔记65-3D Touch开发初体验
- iOS学习笔记-001.第一个程序初体验
- IOS初体验
- iOS NSThread 初体验
- iOS初体验
- IOS初体验
- iOS Runtime 初体验
- iOS初体验
- iOS初体验---通知
- ios开发初体验
- IOS开发初体验
- iOS---MVVM初体验
- ios cocos2d初体验
- ISD9160学习笔记01_大联大Nuvoton ISD9160语音识别开发板初体验
- 就地交换两个数的值
- 苹果在中国面临的挑战:让用户为下载付费
- 反病毒工具-IDA
- automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性)
- 在AndroidStudio中,使用Gradle打包aar到JCenter仓库!完整版教程!填补各种坑
- iOS学习1_初体验
- 大数据预测分析的四个关键因素
- 【C++】STL队列和栈的使用
- loadrunner运行用户设置
- Spring mvc+hibernate+freemarker(开源项目)
- 社会文化和媒体的主流宣传方式所导致的后果
- unity 如何改变游戏中鼠标样式
- iperf的介绍、交叉编译和使用
- mysql 关键字-保留字