zoukankan      html  css  js  c++  java
  • iOS学习1_初体验

    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里面连线后就可以将控件和声明的属性关联起来。

  • 相关阅读:
    VM12+CentOS6.8安装VM tools
    PHP关联数组按某一value值排序
    命名规范
    JavaScript中的函数
    JavaScript中的for循环语句
    JavaScript中的判断和循环
    Javascript运算符的分类
    Html中的JavaScript
    【逆战】HTML5新语义化标签 (二)
    【逆战】HTML5新语义化标签 (一)
  • 原文地址:https://www.cnblogs.com/qhyuan1992/p/5385307.html
Copyright © 2011-2022 走看看