view常用属性
@property(nonatomic) CGAffineTransform transform; // default is CGAffineTransformIdentity
//注释:形变属性(平移\缩放\旋转)
@property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled;
//注释:YES:支持多点触摸 默认是 NO
@property(nonatomic,readonly,retain) CALayer *layer
//注释:图层(可以用来设置圆角效果\阴影效果)
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
//注释:YES:能够跟用户进行交互 默认是YES
@property(nonatomic,readonly) UIView *superview;
//注释:父控件
@property(nonatomic,readonly,copy) NSArray *subviews;
//注释:子控件(新添加的控件默认都在subviews数组的后面, 新添加的控件默认都显示在最上面\最顶部)
@property(nonatomic,readonly) UIWindow *window;
//注释:获得当前控件所在的window(window常为一个,但可以不止一个)
@property(nonatomic) BOOL clipsToBounds;
//注释:YES : 超出控件边框范围的内容都剪掉
@property(nonatomic,copy) UIColor *backgroundColor;
//注释:背景色 默认:nil
@property(nonatomic) CGFloat alpha;
//注意:透明度(0.0~1.0) 默认:1.0
@property(nonatomic,getter=isOpaque) BOOL opaque;
//注释:YES:不透明 NO:透明 默认:YES
@property(nonatomic,getter=isHidden) BOOL hidden;
//注释:YES : 隐藏 NO : 显示
@property(nonatomic) UIViewContentMode contentMode;
//注释:内容模式 默认是UIViewContentModeScaleToFill
//在view上添加视图
- (void)addSubview:(UIView *)view;
//在指定的view下面,插入一个siblingSubview视图
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
//在指定的view上面,插入一个siblingSubview视图
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;
//将视图置于最上方
- (void)bringSubviewToFront:(UIView *)view;
//将视图置于最下方
- (void)sendSubviewToBack:(UIView *)view;
//视图交换
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;
//移除视图上所有视图
- (void)removeFromSuperview;
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;
// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;
// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;
// 将rect从view中转换到当前视图中,返回在当前视图中的rect
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;
// controllerA 中有一个UITableView, UITableView里有多行UITableVieCell,cell上放有一个button
// 在controllerA中实现:
CGRect rc = [cell convertRect:cell.btn.frame toView:self.view];
或
CGRect rc = [self.view convertRect:cell.btn.frame fromView:cell];
// 此rc为btn在controllerA中的rect
或当已知btn时:
CGRect rc = [btn.superview convertRect:btn.frame toView:self.view];
或
CGRect rc = [self.view convertRect:btn.frame fromView:btn.superview];
系统自动调用
//当加入视图完成后
- (void)didAddSubview:(UIView *)subview;
//当视图移除完成后
- (void)willRemoveSubview:(UIView *)subview;
//在删除视图之后调用
- (void)willMoveToSuperview:(UIView *)newSuperview;
- (void)didMoveToSuperview;
//当视图移动到新的WINDOW后调用
- (void)willMoveToWindow:(UIWindow *)newWindow;
- (void)didMoveToWindow;
//判断是不是view的子控件或者子控件的子控件(是否为view的子类)
- (BOOL)isDescendantOfView:(UIView *)view;
//通过tag获得对应的子控件(也可以或者子控件的子控件)
- (UIView *)viewWithTag:(NSInteger)tag;
//例如一个视图淡出屏幕,另外一个视图出现的代码:
[UIView animateWithDuration:1.0 animations:^{
}];
completion为动画执行完毕以后执行的代码块
options为动画执行的选项。可以参考这里
delay为动画开始执行前等待的时间
如何实现连续的动画?
可以在completion代码块中添加动画。
[UIView animateWithDuration:2.0 animations:^{
oldImageView.alpha = 0.0;
newImageView.alpha = 1.0;
//imageView.center = CGPointMake(500.0, 512.0);
}completion:^(BOOL finished){
[UIView animateWithDuration:4.0 animations:^{
newImageView.center = CGPointMake(500.0, 512.0);
}];
}];
UIview添加视图
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 寒假每日学习,不停止分享~~~ 1.给图像视图添加圆角效果 2.给图像视图添加阴影效果 3.UIView视图的渐变...
- UITableView的父类视图UIView上添加tap手势,tableview的点击事件失效。解决问题:给父视图...