UIView UIViewController

简介: --------------------------------------------------------------------------------UIViewController---------------------------...

--------------------------------------------------------------------------------UIViewController--------------------------------------------------------------------------------

1:视图加载完成显示出来以后调用

-(void)viewDidAppear:(BOOL)animated
{
    NSLog(@"视图加载完成显示出来以后调用");
}

2:视图卸载完成以后调用

-(void)viewDidDisappear:(BOOL)animated
{
    NSLog(@"视图卸载完成以后调用");
}
3:视图准备加载以后调用

-(void)viewWillAppear:(BOOL)animated
{
    NSLog(@"视图准备加载以后调用");
}

4:视图准备卸载以后调用

-(void)viewWillDisappear:(BOOL)animated
{
    NSLog(@"视图准备卸载以后调用");
}

5:在程序第一次启动时会加载UIWindow, 此时不要viewDidLoad执行 其他控制器视图的切换函数,因为这样做是没有任何效果的.

如果一定需要:可以在 viewDidAppear 里面执行控制器切换功能.

[self presentModalViewController:bookTabBae animated:NO];

6: 判断ViewController是否已经 执行过viewDidLoad 的方法

[self isViewLoaded]


7:关于 viewDidLoad

ViewController 在实例化以后是不会立刻执行viewDidLoad方法 

但是如果触动了与 VIewController 相连接的View 的代码,那么viewDidLoad 就会立刻执行.

立刻改变View 的背景颜色,  将View addSubView 到 其他的地方等,都会触发.


--------------------------------------------------------------------------------UIViewController--------------------------------------------------------------------------------

--------------------------------------------------------------------------------UIView--------------------------------------------------------------------------------


1: 设置指定的View 到顶端

[self.superview bringSubviewToFront:self];

2: 设置指定的View 到底部

[self.superview sendSubviewToBack:self];

3: 将View自己给删除掉

[self removeFromSuperview];

4:View坐标(CGPoint)转换之 convertPoint toView 详细解释

CGPoint point1 = [self.view2 convertPoint:self.btn.frame.origin toView:self.view1];

注: 针对self.view2 中 指定的某个 CGPoint 坐标系 如果填充到 self.view1 视图中时, 那么在self.view1中正确的CGPoint 坐标系 应该是多少?

      这个方法的目的是保证给定的坐标系在显示到其他View视图时, 其原本坐标系的显示效果和转换后的显示效果保持一致.如下图所示:

      图中的按钮要在不同的View视图显示时,又需要保证显示的位置不管在哪个View时 看起来都是一致. 那么就可以用到此方法获取的正确的坐标

      


CGPoint point = [self convertPoint:_songIconImageButtonOriginalRect.origin fromView:self.songDetailsContianerView];
NSLog(@"%@ %@",NSStringFromCGPoint(point),NSStringFromCGPoint(_songIconImageButtonOriginalRect.origin));

自己领悟吧..唉~



5:关于视图自适应调整方面的说明和使用

如果视图的autoresizesSubviews属性声明被设置为YES,则其子视图会根据autoresizingMask属性的值自动进行尺寸调整。

自动尺寸调整掩码

描述

UIViewAutoresizingNone

这个常量如果被设置,视图将不进行自动尺寸调整。

UIViewAutoresizingFlexibleHeight

这个常量如果被设置,视图的高度将和父视图的高度一起成比例变化。否则,视图的高度将保持不变。

UIViewAutoresizingFlexibleWidth

这个常量如果被设置,视图的宽度将和父视图的宽度一起成比例变化。否则,视图的宽度将保持不变。

UIViewAutoresizingFlexibleLeftMargin

这个常量如果被设置,视图的左边界将随着父视图宽度的变化而按比例进行调整。否则,视图和其父视图的左边界的相对位置将保持不变。

UIViewAutoresizingFlexibleRightMargin

这个常量如果被设置,视图的右边界将随着父视图宽度的变化而按比例进行调整。否则,视图和其父视图的右边界的相对位置将保持不变。

UIViewAutoresizingFlexibleBottomMargin

这个常量如果被设置,视图的底边界将随着父视图高度的变化而按比例进行调整。否则,视图和其父视图的底边界的相对位置将保持不变。

UIViewAutoresizingFlexibleTopMargin

这个常量如果被设置,视图的上边界将随着父视图高度的变化而按比例进行调整。否则,视图和其父视图的上边界的相对位置将保持不变。


//对父视图设置 允许子视图自适应父视图宽高成长 默认是YES
parentView.autoresizesSubviews=YES;
//对子视图设置适应父视图的方式. 见上图
childrenView.autoresizingMask= (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);


6:通过设置View 的 BackGround 实现背景图片的设置

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"btn_nofocue02"]]];

注:复制图片原大小的方式,平铺开来,效果如下:



7:关于exclusiveTouch(参考:touchbegan 单个手指的识别----UIView 的exclusiveTouch属性)

exclusiveTouch的意思是UIView会独占整个Touch事件,具体的来说,就是当设置了exclusiveTouch的 UIView是事件的第一响应者,那么到你的所有手指离开前,其他的视图UIview是不会响应任何触摸事件的,对于多点触摸事件,这个属性就非常重要,值得注意的是:手势识别(GestureRecognizers)会忽略此属性。
列举用途:我们知道ios是没有GridView视图的,通常做法是在UITableView的cell上加载几个子视图,来模拟实现 GridView视图,但对于每一个子视图来说,就需要使用exclusiveTouch,否则当同时点击多个子视图,那么会触发每个子视图的事件。当然 还有我们常说的模态对话框。



--------------------------------------------------------------------------------UIView--------------------------------------------------------------------------------

目录
相关文章
|
6月前
|
iOS开发 UED 容器
navigationController 的使用详解
navigationController 的使用详解
|
Swift
Swift - UIView,UILabel,UIButton,UIImageView
Swift - UIView,UILabel,UIButton,UIImageView
99 0
UINavigationController和UITabBarController合用。
UINavigationController和UITabBarController合用。
76 0
UITabBarController 获得selecdIndex
UITabBarController 获得selecdIndex
82 0
|
iOS开发
iOS开发之UIView与UIViewController的生命周期总结
iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。
1273 0