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;
}