UI控件-UIView的简单使用

来源:互联网 发布:软件图标变成白色 编辑:程序博客网 时间:2024/05/17 00:09
UIView的简单使用
        在屏幕上,能看得见、摸得着的东西都是UIView,比如按钮、图片、文字等,所有控件最终都继承自UIView,一个UIView都是一个容器,可以容纳其它UIView。

        UIView 的介绍:UIView 用来展示应用的用户界面,同时也负责界面的交互,平时我们在应用程序中看到的点击的都是UIView,UIKit 和其它系统框架中提供了很多视图,我们可以直接拿来使用,如果这些视图还是不能满足我们的需求时,我们也可以自定义视图。

        UI视图采用相对坐标,以iOS屏幕左上角为(0,0)点。子控件以父控件的左上角为(0,0)点。

UIView 的常见属性
1、superview
1)、@property(nonatomic, readonly) UIView *superview;
2)、获得自己的父控件对象

2、subviews
1)、@property(nonatomic, readonly, copy)  NSArray  *subviews;
2)、获得自己的所有子控件对象(新添加的子控件会在subvies数组的最后面)

3、tag
1)、@property(nonatomic)  NSInteger  tag;
2)、控件的ID\标识,父控件可以通过tag来找到对应的子控件

4、frame
1)、@property(nonatomic)  CGRect frame;
2)、控件所在矩形框的位置和尺寸(以父控件的左上角为坐标原点)

5、bounds
1)、@property(nonatomic)  CGRect  bounds;
2)、控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x\y一般为0 )

6、center
1)、@property(nonatomic)  CGPoint  center;
2)、控件中点的位置(以父控件的左上角为坐标原点)

7、transform
1)、@property(nonatomic )  CGAffineTransform transform;
2)、控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)

代码示例:
Xcode6中建立一个空的应用程序,在AppDelegate.m中的如下函数中加入代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    // Override point for customization after application launch.          UIView *view1 = [[UIView alloc ] init];    // 设置控件坐标(相对于父类来说)    view1.frame = CGRectMake (10, 30 , 300, 30);    view1.backgroundColor = [ UIColor redColor ];    // 将 view加入到window 中    [self .window addSubview:view1];        UIView *view2 = [[UIView alloc ] init];    view2.frame = CGRectMake (10, 40 , 300, 30);    view2.backgroundColor = [ UIColor greenColor ];    [view1 addSubview:view2];            NSLog( @"frame - x = %f" , view2.frame. origin.x );    NSLog( @"frame - y = %f" , view2.frame. origin.y );    NSLog( @"frame - w = %f" , view2.frame. size.width );    NSLog( @"frame - h = %f" , view2.frame. size.height );        // 得到 view的中心点    CGPoint point = view2.center ;    NSLog( @"center - x = %f" , point.x);    NSLog( @"center - y = %f" , point.y);        // 得到边框大小    CGRect bounds = view2.bounds ;    NSLog( @"bounds - x = %f" , bounds.origin. x);    NSLog( @"bounds - y = %f" , bounds.origin. y);    NSLog( @"bounds - w = %f" , bounds.size. width);    NSLog( @"boudns - h = %f" , bounds.size. height);        // 设置视图的标签    view2.tag = 2 ;        // 设置内容模式    view2.contentMode = UIViewContentModeBottom ;                self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    return YES;}




0 0
原创粉丝点击