我的iOS 学习 - 初探iOS

iOS使用Object-C (不讨论swift),类似C,main函数为程序执行入口

1 #import <UIKit/UIKit.h>
2 #import "AppDelegate.h"
3 
4 int main(int argc, char * argv[]) {
5     @autoreleasepool {
6         return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
7     }
8 }

 

在main函数里面执行 UIApplicationMain 函数,函数执行过程创建了一个UIApplication 对象(我是这样理解的,不知道实际是不是,呵呵),同时指定UIApplication的委托 AppDelegate(可以看到在 AppDelegate.h中实现了UIApplicationDelegate协议)。

默认创建的AppDelegate中又6个方法,对应Application在运行时的各种状态,可以在方法里添加处理。

1 // 程序完成启动, 初始化一些全局数据可以在这个方法里实现
2 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
3     // Override point for customization after application launch.
4     return YES;
5 }

 

 这里是程序启动完成执行的方法,之前的xcode版本会在这里有UIWindow的创建代码,现在的xcode创建一个简单工程,默认有个Main.storyboard,关联了默认创建的viewController ,程序启动首先会执行viewController,在viewDidLoad 方法里面加载视图,

创建视图

 

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     // Do any additional setup after loading the view, typically from a nib.
 4     
 5     UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)]; //创建一个视图,在iOS屏幕坐标系的(50,50)位置创建一个200x200的视图
 6     aView.backgroundColor = [UIColor yellowColor];  //添加背景色,默认是没有背景的,
 7     [self.view addSubview:aView]; // 将aView 添加到主视图上
 8     aView.tag = 100; // 添加一个tag值,可以通过代码快速定位视图,值不能定义的太小,因为iOS系统也使用了tag标记视图,为了不与系统冲突从100开始
 9     
10     UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];
11     [bView setBackgroundColor:[UIColor blueColor]];
12     bView.tag = 1001;
13     [aView addSubview:bView];
14     
15     // cView在aView上方,cView太大将超出,通过设置父视图的clipBounds属性裁剪掉超出的部分,超出父视图部分不接受交互
16     UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 300, 100)];
17     [cView setBackgroundColor:[UIColor greenColor]];
18     cView.tag = 1002;
19 //    [aView addSubview:cView];
20 //    [aView insertSubview:cView aboveSubview:bView];//插入到cView到bView上方
21     [aView insertSubview:cView belowSubview:bView];//插入cView到bView的下方
22     
23     [aView setClipsToBounds: YES];
24     aView.alpha = 0.5; // 父视图设置透明度,子视图也受影响
25     aView.userInteractionEnabled = NO; // 是否接受交互
26     
27     UIView *serachView = [self.view viewWithTag:1001];
28     NSLog(@"serachView = %@", serachView);
29     [serachView removeFromSuperview]; //从父视图删除

 

 

 

  视图的基本使用,更多的使用方法,还在学习中 ...

 

posted @ 2015-07-07 22:57  學亦漫長  阅读(163)  评论(0编辑  收藏  举报