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

时间: 2024-10-09 17:41:48

iOS学习1_初体验的相关文章

iOS AR技术初体验,使用EasyAR示例程序的小白指南

QQ前两天的传递火炬,是我第一次直接接触到AR.(虽然之前听同事说过,因为他喜欢玩游戏,PS.3DS等等都玩过,这个技术最开始就是从这里出现的).所以感觉很有趣,就想自己也试着搞一下玩玩...下面是我的初体验. 首先搜索了一下网上有哪些支持的SDK,比较好的几个:Metaio被苹果收购.Vuforia被高通(Qualcomm)卖给PTC后,相对较好的有ARToolKit.Wikitude等.不过国内也有不错的.本着能不看英文就不看英文的想法,我选择了一个国内的引擎:EasyAR. 既然选择了,就

Objective-C Runtime的基本使用(iOS Runtime的初体验)

一.Runtime前言 最近研究Runtime,基础不够好,研究好久了,才了解一些些,知道个大概,这里做一个笔记.OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类的对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类,对象中的所有属性,方法,就算是私有方法以及私有属性都可以动态的修改.所以我所理解的就是 动态创建类,修改类,访问私有方法等一些基本特性,应该说理解runtime的基本用法吧! 二.Runtime简介 Runtime简称运行时,就是系统在运行的时候

多线程学习之初体验

大家好~,我是Camellian.最近初涉多线程,因为是刚接触,还有待提高,故先把刚刚整理的笔记拿出来跟大家分享下,希望各位路过的大神们,多多指教 那好,下面我们进入正题,首先学习下进程和线程的概念: (1) iOS中一个运行的程序就是一个进程或者叫做一个任务 (2)一个进程至少包含一个线程,线程是程序的执行流 线程是程序执行的最小单元———它能占用内存和cpu,从而开展运算. (3)iOS程序启动时,在创建一个进程的同时, 会开始运行一个线程,该线程被称为主线程. 注意:主线程是其他线程最终的

kafka 学习之初体验

学习问题: 1.kafka是否需要zookeeper?2.kafka是什么?3.kafka包含哪些概念?4.如何模拟客户端发送.接受消息初步测试?(kafka安装步骤)5.kafka cluster怎么同zookeeper交互的? 1.kafka是否需要zoopkeeper kafka应用需要zookeeper,可以使用kafka安装包提供的zookeeper,也可以单独下载zookeeper 2.kafka是什么. kafka是一个分布式消息系统.Kafka是一个 分布式的.可分区的.可复制的

iOS facebook PoP 初体验

说到pop,我学到了很多.第一次使用了,cocopods工具,因为不熟悉操作,昨天弄了好久,终于给掌握了.从安装到运行.为了给更多的人能够学到pop,我今天写一个完全版的从cocopods运用到pop动画简单介绍. 1.cocopods的安装.打开终端输入这个命令:  gem sources --remove https://rubygems.org/  等有反应后再输入:  gem sources -a http://ruby.taobao.org/  最好输入  gem sources -l

UISearchBar学习之初体验

Xamarin.iOS开发初体验

Xamarin是一个跨平台开发框架,这一框架的特点是支持用C#开发IOS.Android.Windows Phone和Mac应用,这套框架底层是用Mono实现的. Mono是一款基于.NET框架的开源工程,包含C#语言编译器.CLR运行时和一组类库,能运行于Windows.Linux.Unix.Mac OS和Solaris.对于.NET程序员来说,Xamarin是走向安卓.iOS.Mac跨平台开发的神器,不仅能用熟悉的C#来开发,还能使用Visual Studio作为IDE.本文内容是Xamar

第三次随笔--安装虚拟机及学习linux系统初体验

第三次随笔--安装虚拟机及学习linux系统初体验 ·学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 首先按照老师的提示步骤进行VirtualBox虚拟机的安装,安装过程可谓一帆风顺,一马平川,并没有遇到什么问题. ·成功安装之后打开虚拟机 对就是这个样子,略微有一点激动,还好,在自己的电脑上运行并不会有太多的卡顿 ·参考老师的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节. 虚拟机安

1.菜鸟的linux学习之路------linux初体验

脚本编程语言通常是解释型的.这类程序的执行,是由解释器读入代码,并将其转换成内部的形式,在执行.请注意,解释器本身是一般的编译型程序. 常用的脚本编程语言有 :awk,Perl,Python,Ruby,Shell.这里的Ruby是日本人研发的. 注释: linux : 1.rm 删除指定的文件 例:rm /Users/apple/Desktop/QQDock.plist 2.假设你想知道现在的系统有多少人在登录,那么 who命令可以实现 3.|管道符号可以在两个程序之间建立管道:who的输出,成