IOS学习笔记(二)之应用程序UI基础

jerry IOS 2015年11月27日 收藏

       有第一个IOS应用程序成功试水,趁热打铁,理解一下UI的基础知识(UIWindow与UIView):

(一): 看下类的关系:直接查看头文件:

       

      就知道UIWindow是UIView的子类,可以进行进行管理应用程序的显示,事件之类的,传递给UIView.一般在一个应用程序中只有一个UIWindow,不过每一个UIWindow对象上面都有一个跟试图对象是是视图管理器(ViewController)。UIWindow在AppDelegate委托类中的application:didFinishLaunchingWithOptions:方法总进行初始化:

       

  1. #pragma mark invoke after application loaded
  2.  
  3. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  4. {
  5.     
  6.     NSLog(@"加载完毕...");
  7.     //init window
  8.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
  9.     // Override point for customization after application launch.
  10.     // 传入xib文件名来init controller
  11.     self.viewController = [[[PPSViewController alloc] initWithNibName:@"PPSViewController" bundle:nil] autorelease];
  12.     // setting the root view of Window
  13.     self.window.rootViewController = self.viewController;
  14.     // 下面的代码和上面一条设置跟view效果一样
  15.     // [self.window addSubview:self.viewController.view];
  16.     [self.window makeKeyAndVisible]; //view可见
  17.     return YES;
  18. }

     同时在根视图上面,我们还可以添加子视图。所有的控件都会继承UIView;


     看下UIWindow对象根视图UIView,还有子视图的对应关系好比如下的截图:

     


     最外边的黄色框代表:UIWindow,中间的橙色框代表UiView,最里边的紫色框代表:子视图(SubView)

     

 (二):接下来直接查看UIView的头文件:

       

       上图很清楚的看出UIView类是继承自UIResponder,UIView是用来展示界面,以及和用户进行操作交互等功能;上面第一个点UIWindow中讲了可以在根视图UIWiew中添加子视图,下面就写一个例子:

     

  1. - (void)viewDidLoad
  2. {
  3.        [super viewDidLoad];
  4.     // 设置界面的背景
  5.         [self.view setBackgroundColor:[UIColor redColor]];
  6.         CGRect frame=CGRectMake(10, 170, 300, 50);
  7.        // 使用指定的矩形进行创建标签
  8.         UILabel *lable= [[UILabel alloc]initWithFrame:frame];
  9.         lable.text=@"Hello,我是被添加的子视图";
  10.         lable.textColor=[UIColor redColor];
  11.     
  12.         [self.view addSubview:lable];
  13. }

    运行结果如下:


     

      上面就是把UILable的标签作为子视图加入到UIView中;