IOS UI控件 - UIView详解
2015-10-22 21:13
627 查看
1,UIView常用属性
@property(nonatomic) BOOL clearsContextBeforeDrawing //决定在视图重画之前是否先清理视图以前的内容,缺省值为YES //如果你把这个属性设为NO,那么你要保证能在 drawRect:方法中正确的绘画。如果你的代码 //已经做了大量优化,那么设为NO可以提高性能,尤其是在滚动时可能只需要重新绘画视图的一部分 @property(nonatomic) BOOL clipsToBounds //决定子视图是否被限定在当前视图的bounds中,缺省值为NO @property(nonatomic) UIViewContentMode contentMode //决定当视图边界变时呈现视图内容的方式 @property(nonatomic) CGFloat contentScaleFactor //应用到当前视图的比例Scale @property(nonatomic, copy) NSArray *gestureRecognizers //当前视图所附加的手势识别器 @property(nonatomic, readonly, retain) CALayer *layer //用于视图渲染的核心动画层 @property(copy, nonatomic) NSArray *motionEffects //当前视图的运动效果,IOS7才开始拥有 @property(nonatomic, getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled //当前视图是否接受多点触控事件,缺省值为NO @property(nonatomic, copy) NSString *restorationIdentifier //该标示符决定该视图是否支持恢复状态,其实也只是个标示符而已 //个人觉得就相当于配置表视图每个单元格时使用的标示符一样,可以直接在内存中重用,提高了性能 //还有一点需注意,不应该简单的定义这个标示符,因为其所属的view controller ,还有view controller的 //所有 父view controllers都必须有一个恢复标识符 @property(nonatomic, readonly, copy) NSArray *subviews //当前视图的所有子视图 @property(nonatomic, readonly) UIView *superview //当前视图的父视图 @property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode //色调调整模式,开始用于IOS7 @property(nonatomic, retain) UIColor *tintColor //色调颜色,开始用于IOS7 @property(nonatomic) CGAffineTransform transform //视图的仿射变换 @property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled //决定与用户交互事件是否从被忽略并从事件队列中移除 @property(nonatomic, readonly) UIWindow *window //当前视图上的UIWindow对象
2,UIView中的方法
2.1,增加和移除一个view [Subview removeFromSuperview]; //将Subview从当前的UIView中移除 [UIView addSubview:Subview]; //替UIView增加一个Subview 2.1 将一个子控件移动到最顶层或者最底层 [self.view bringSubviewToFront:view1];//将view1子控件移动到所有view的最上面 [self.view sendSubviewToBack:view4]; //将view4子控件移动到所有view的最底部 2.3 - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index; //通过view的index交换两个view的层级 - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex: (NSInteger) index2; - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview; - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview; NSInteger index = [[UIView subviews] indexOfObject:Subview名称];//取得Index [UIView viewWithTag:NSInteger]; //通过标记得到view 返回值为UIView [UIView subviews] ; //取的UIView下的所有Subview <pre name="code" class="objc">- (CGSize)sizeThatFits:(CGSize)size; // return 'best' size to fit given size. does not actually resize view. Default is return existing view size - (void)sizeToFit; // calls sizeThatFits: with current view bounds and changes bounds size.2.4 view的回调方法//当加入视图完成后调用 (void)didAddSubview:(UIView *)subview //当视图移动完成后调用 (void)didMoveToSuperview //当视图移动到新的WINDOW后调用 (void)didMoveToWindow //在删除视图之后调用 (void)willRemoveSubview:(UIView *)subview //当移动视图之前调用 (void)didMoveToSuperview:(UIView
*)subview //当视图移动到WINDOW之前调用 (void)didMoveToWindow
3,UIView的属性contentMode
相关文章推荐
- LeetCode---Unique Paths II
- UIControl控件的综合使用
- iOS开发UI篇—模仿ipad版QQ空间登录界面
- iOS开发UI篇—iPad开发中得modal介绍
- iOS开发UI篇—ipad项目 popoverController使用注意
- iOS开发UI篇—ipad 项目 popoverController简单介绍
- 什么是Coded UI
- hdu1711Number Sequence kmp模板题
- Detecting iPhone 6/6+ screen sizes in point values
- ios8中的UIScreen
- iOS开发UI篇—iPad和iPhone开发的比较
- UITableView
- apue第三版 在信号处理程序中调用不可再入函数 的例子遇到的问题
- iOS开发7-KVO(Key-Value Observer)键值观察
- iOS开发拓展篇—UIDynamic(捕捉行为)
- [Leetcode]Unique Paths II
- iOS开发拓展篇—UIDynamic(重力行为+碰撞检测)
- Recruit Coupon Purchase Winner's Interview: 2nd place, Halla Yang
- iOS开发拓展篇—UIDynamic(简单介绍)
- iOS开发UI篇—无限轮播(功能完善)