父视图和子视图的关系

//
//  ViewController.m
//  SuperViewSonView
//
//  Created by hehe on 15/9/16.
//  Copyright (c) 2015年 wang.hehe. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //创建一个父类视图
    UIView *mySuperView = [[UIView alloc] init];
    mySuperView.frame = CGRectMake(80, 100, 150, 100);
    mySuperView.backgroundColor = [UIColor grayColor];
    [self.view addSubview:mySuperView];
    
    //创建一个子视图
    UIView *mySubView = [[UIView alloc] init];
    mySubView.frame = CGRectMake(0, 0, 80, 60);
    mySubView.backgroundColor = [UIColor redColor];
    [mySuperView addSubview:mySubView];
    
    //视图的隐藏属性
    mySuperView.hidden = NO;
    
    //设置透明度
    mySuperView.alpha = 0.8;
    
    //设置子视图的透明度= 0.5*0.8=0.4
    mySubView.alpha = 0.5;
    
    //改变自视图坐标
    mySubView.frame = CGRectMake(20, 20, 180, 60);
    
    //裁减超出父视图边界部分
    mySuperView.clipsToBounds = YES;
    
    //改变父视图坐标
    mySuperView.frame = CGRectMake(100, 250, 150, 100);
    //mySuperView.transform = CGAffineTransformMakeRotation(2);
    
}

@end

时间: 09-15

父视图和子视图的关系的相关文章

[转]UIView的属性,父视图和子视图的层级操作,子视图的自适应模式,外加一个定时器

1)UIView视图frame的设置,四个参数,前2个确定位置,后2个确定大小. (2)UIView的内容模式contentMode,和在UIImage中说的是一样的,而且在UIImage中展示更容易理解. (3)UIView最重要的就是父视图和子视图之间的关系,以及父视图操作子视图(增加一个子视图,把一个子视图放到最下面最上面.交换两个子视图的加载顺序等等) (4)还有一个重要的是,父视图如果发生变化,子视图怎么自动调整布局:先让父视图允许子视图干这个事,即把父视图的属性autoresizes

父视图与子视图

1,子视图在父视图上显示及响应触摸时间, 1,子视图的frame需与父视图关连 2,在父视图必须声明[self.subView superview]; - (UIImageView *)imageTom {     if (_imageTom == nil) {         UIImageView *imageTom = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];         _imageTom = im

UIView如何管理它的子视图

UIView提供了很多建立和管理视图的方法. 1.添加视图 insertSubview:atIndex:   //放在子视图数组的具体索引位置 insertSubview:aboveSubview:   //某个子视图前面 insertSubview:aboveSubview:   //某个子视图前面 2.重新排序和删除子视图 [parentView exchangeSubviewAtIndex:i withSubviewAtIndex:j]//交换两个视图的位置 bringSubviewToF

IOS子视图超过父视图frame后,无法交互响应

确定第一响应者 当用户触发某一事件(触摸事件或运动事件)后,UIKit会创建一个事件对象(UIEvent),该对象包含一些处理事件所需要的信息.然后事件对象被放到一个事件队列中.这些事件按照先进先出的顺序来处理.当处理事件时,程序的UIApplication对象会从队列头部取出一个事件对象,将其分发出去.通常首先是将事件分发给程序的主window对象,对于触摸事件来讲,window对象会首先尝试将事件分发给触摸事件发生的那个视图上.这一视图通常被称为hit-test视图,而查找这一视图的过程就叫

iOS 子视图响应父视图的点击事件

最近为了解决 点击子视图却依然会响应父试图的点击事件发现UITapGestureRecognizer上的一个代理方法: -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 如果返回no则不响应,因此我们可以根据isDescendantOfView:方法来判定一个视图是否在其父视图的视图层中.把我们不想让其响应的子视图拿出来判断一下,如果包含这个子

关于cell中添加子视图 复用重叠问题的解决方法

问题本质: 因为你要添加的子视图并不是在自定义的cell中实现的,而是根据系统给的UITableViewCell这个类创建的实例,每次进图 cellForRow方法都会创建一个cell,每次都要创建一个子视图添(button,label之类的)加进去,会给占用很大的内存,所以采用了复 用的方法,但是问题就来了,当cell超出界面,从队列中拿过来复用的时候,其中子视图的内容并没有消除,这样你会原来的基础上再创建一个子视图添加上去 遮住了原来的视图,一般视图都是透明的这样的话就变成了一层层的叠加.

【iOS开发-48】九宫格布局案例:自动布局、字典转模型运用、id和instancetype区别、xib重复视图运用及与nib关系

本次九宫格案例: (1)导入app.plist和各种图片素材,方便后续开发.实际开发中,也是如此. (2)把plist中数组导入进来. --因为本案例中app.plist最终是一个数组,数组里面是字典.所以我们需要一个数组类型来接受这个plist文件. --我们利用之前掌握的在变量的getter中进行延迟加载数据. #import "ViewController.h" @interface ViewController () @property(nonatomic,strong) NS

UIView 添加子视图的常用方法

1.  - (void)addSubview:(UIView *)view 这是最常用的方法有两个注意点 参数view可以是nil,运行不会报错,当然,父视图的subViews也不会增加. 此方法增加的view层级当前是最高的,也就是最靠外. 2.  - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index; 父视图的所有的子视图的index默认是从0开始的. index如果赋了负数,执行不会报错,但添加会失败. 如果index值

精通IOS-在表单元中添加子视图

#import <UIKit/UIKit.h> @interface NameAndColorCellTableViewCell : UITableViewCell @property(copy,nonatomic) NSString *name; @property(copy,nonatomic) NSString *color; @end NameAndColorCellTableViewCell.h // // NameAndColorCellTableViewCell.m // Tab