UI编程-UIView及其⼦子类

原创 2015年07月10日 15:16:50
//
//  AppDelegate.m
//  UI01_UIView_UILabel
//
//  Created by dllo on 15/7/10.
//  Copyright (c) 2015年 dllo. All rights reserved.
//

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
#pragma mark - 知识点1 UIWindow
    
    /* 创建一个和屏幕一样大小的UIWindow对象 */
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    // Override point for customization after application launch.
    
    /* 将window属性的背景颜色设置为白色, 注意是UIColor对象 */
    self.window.backgroundColor = [UIColor whiteColor];
    
    /* 使window成为主window并可见 */
    [self.window makeKeyAndVisible];
    
#pragma mark - 知识点2 UIView
    
    /* 创建UIView对象 */
    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 200, 200)];
    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120, 120, 200, 200)];
    
    /* 获取屏幕的宽和高 */
    CGFloat f1 = [UIScreen mainScreen].bounds.size.width;
    CGFloat f2 = [UIScreen mainScreen].bounds.size.height;
    NSLog(@"width:%f", f1);
    NSLog(@"height:%f", f2);
    
    /* 设置view背景颜色 */
    view1.backgroundColor = [UIColor greenColor];
    view2.backgroundColor = [UIColor redColor];
    
    /* 将view1对象添加到window上 */
    [self.window addSubview:view1];/* view1的引用计数会 +1 */
    
    /* frame 属性, 它的参照坐标系是父视图
     * 将view2 添加在view1 上
     */
//    [view1 addSubview:view2];
    
    /* center 属性, 它的参照坐标系是父视图 */
//    view2.center = CGPointMake(20, 20);
    
    /* view的其他API */
    /* 透明度, 注意子视图也会更改 */
    view1.alpha = 0.7;
    
    /* view 的子视图 */
    NSArray *arr = view1.subviews;
    NSLog(@"%@", arr);
    NSLog(@"%@", self.window.subviews);
    
    /* 获取view 的父视图 */
    NSLog(@"%@", view2.superview);
    NSLog(@"%@", self.window.superview);
    
    /* 视图层级管理 */
    /* view1, view2 都是self.window子视图 */
    [self.window addSubview:view2];
    
    /* 把view1放在最前面 */
    [self.window bringSubviewToFront:view1];
    
    /* 创建一个新的视图view3, 放在view1 和 view2 之间 */
    UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(80, 80, 200, 200)];
    view3.backgroundColor = [UIColor orangeColor];
    [self.window insertSubview:view3 atIndex:1];
    
    /* 创建一个新的视图view4, 放在view1 和 view3之间 */
    UIView *view4 = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
    view4.backgroundColor = [UIColor grayColor];
    [self.window insertSubview:view4 aboveSubview:view3];
    
    /* 更改view1 和 view2 的位置 */
    [self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:3];
    
    /* hidden 属性 */
    view4.hidden = YES;
    NSLog(@"%@", self.window.subviews);
    
    /* tag 属性 */
    view1.tag = 100;
    view2.tag = 200;
    view3.tag = 300;
    view4.tag = 400;
    NSLog(@"%@", self.window.subviews);
    
    /* 根据tag 获取view对象 */
    UIView *findView = [self.window viewWithTag:100];

    /* 注意:内存问题 */
    [view1 release];
    [view2 release];
    [view3 release];
    [view4 release];
    [_window release];
    

    return YES;
}

/* MRC 下, 属性的引用计数问题, 需要重写dealloc方法 */
- (void)dealloc
{
    [_window release];
    [super dealloc];
    
}
@end


版权声明:本文为博主原创文章,未经博主允许不得转载。

第⼀讲:UIView及其⼦子类

iOS是Apple公司的移动操作系统,主要⽤用于iPhone、iPad、iPad Mini、iPod Touch等移动产品。  UI(User Interface):⽤用户界⾯面,⽤用户能...

UI编程:UIView及其子类

UI概述 UI(User Interface):用户界面,用户能看到的各种各样的页面元素。 iOS App = 各种各样的UI控件 + 业务逻辑和算法在iOS中,使用UIWindow类来表示窗口,...

进击的KFC:UI(一)UIView及其子类

#pragma mark --- UIViewUIView 代表一个矩形区域 创建一个视图的4步骤: 1.初始化: 起始点从(屏幕的)父视图左上角开始计算,为(0,0)点 (必须记住) UIView ...

UI基础-UIView及其子类

UIView UIView 代表一个矩形区域UIView *view = [[UIView alloc] initWithFrame:CGRectMake(150, 100, 150, 40)]; 加...

UI课程01 UIView及其子类

1. iOS App = 各种各样的 UI控件 + 业务逻辑和算法 2.快捷键: command+shift+2  新加模拟器command+shift+h  模拟器中的返回command...
  • Kaiccy
  • Kaiccy
  • 2015年09月06日 19:43
  • 279

随意细解:UI -- UIView及其子类

window、UIView、UILabel
  • M_MU_U
  • M_MU_U
  • 2015年11月10日 21:32
  • 228

自定义UIView子类

  • 2015年12月12日 17:14
  • 27KB
  • 下载

Android界面编程之六 第五组UI组件:ProgressBar及其子类

ProgressBar本身代表了进度条组件,它还派生了两个常用组件:SeekBar和RatingBar。 它和其子类在用法上十分相似,只是显示界面上有区别 2.6.1 Progress...

Android界面编程之五 第四组UI组件:AdapterView及其子类

AdapterView本身是一个抽象基类,它派生的子类在用法上十分相似,只是显示界面有一定区别 AdapterView继承了ViewGroup AdapterView可以包括多个“列表项” Ad...

UIView及其子类围绕任意点旋转的方法

UIView本身是支持旋转的,可以用UIView.transform属性实现旋转。 The origin of the transform is the value of the center ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UI编程-UIView及其⼦子类
举报原因:
原因补充:

(最多只允许输入30个字)