UI-父视图和子视图之间的关系
2015-08-14 18:41
501 查看
// // ViewController.m // 父控件与子控件 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; /** * 简单的介绍一些良好的编程规范 设置frame 值的时候我们可以单独的将 变量从中抽取出来 方便对每个值的单独操作 并且显得代码很干净 如果操作多个控件,可以再次基础上进行修改 十分方便 */ CGFloat viewX = 0; CGFloat viewY = 0; CGFloat viewW = 100; CGFloat viewH = 100; /** * 这里创建了一个button 和一个view 分别添加到其相对应的父视图上 这里讨论的一个问题是,父视图与子视图的关系 父视图的大小会不会影响子视图的大小 父视图和子视图之间还存在什么关系 */ self.view.backgroundColor = [UIColor cyanColor]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake( viewX+50, viewY+50, viewW, viewH); btn.backgroundColor = [UIColor orangeColor]; [btn addTarget:self action:@selector(btnTouch) forControlEvents:UIControlEventTouchUpInside]; /** 我们要搞清楚视图之间的父子关系,方便我们对视图的操作 这里做了个小实验验证 父视图和子视图之间的关系 1.将view1添加到view上 2.将btn 添加到view1上 3.分别设置背景颜色方便我们的区分 4.对按钮设置点击事件 并输出一句话 方便我们观察 */ UIView * view1 = [[UIView alloc]init]; view1.backgroundColor = [UIColor redColor]; view1.frame = CGRectMake(viewX, viewY, viewW, viewH); [view1 addSubview:btn]; [self.view addSubview:view1]; /** * 实验结果: 俯视图的大小不会影响子视图的大小 子视图的大小不会发生变化 但是需要注意的是: 我们对按钮添加了点击事件,一般的来说,点击按钮会触发按钮的点击事件, 但是结果却和我们想的不是太一样,我们点击按钮的某一部分的时候,才会触发 按钮的点击事件,我们可以观察到,我们点击的范围是限定在父视图内,也就是说 按钮在父视图上的那一部分,点击按钮之后,会触发点击事件,而其他的范围是 不会触发按钮的点击事件 */ // [btn addSubview:view]; } -(void)btnTouch { NSLog(@"按钮被点击"); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关文章推荐
- ios UISlider总结
- Django1.8:403错误:CSRF verification failed. Request aborted.
- 在AWS上为1.25亿用户实现移动应用个性化
- UINavigationController小知识点
- DNS服务器性能测试(基于queryperf)
- iOS UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
- 【UVa 540】Team Queue
- iOS 归档UIImageView后,再解档,imageview的图片出现自动旋转
- Codeforces Round #250 D - The Child and Sequence/[TYVJ3838] DQS和序列(by 帝江&Darkfalmes)
- iOS基础-UIKit框架-多控制器管理-Segue
- Codeforces Gym 100379I Move the queen to the corner! 威佐夫博弈变形 + 高精度
- HDU 4106 Fruit Ninja 费用流
- A simple Test-Query Program
- EasyUI中tree,Datagrid,pagenation的使用EasyUI中Datagrid和pagenation进行关联时,再次点击pagenation时让表格数据显示的问题
- EasyUI中tree,Datagrid,pagenation的使用EasyUI中Datagrid和pagenation进行关联时,再次点击pagenation时让表格数据显示的问题
- 枚举.values()表示得到全部的枚举内容,然后以对象数组的形式用foreach输出
- LeetCode之Unique Binary Search Trees
- -[UIViewController _loadViewFromNibNamed:bundle:]
- 特殊权限suid sgid sticky
- MYGUI和HGE