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
原创粉丝点击