//  通过一个frame来初始化一个UI控件

- (id)initWithFrame:(CGRect)frame;

// YES:能够跟用户进行交互

@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES

// 控件的一个标记(父控件可以通过tag找到对应的子控件)

@property(nonatomic)                                 NSInteger tag;                // default is 0

// 图层(可以用来设置圆角效果\阴影效果)

@property(nonatomic,readonly,retain)                 CALayer  *layer;

@end

@interface UIView(UIViewGeometry)

// 位置和尺寸(以父控件的左上角为坐标原点(0, 0))

@property(nonatomic) CGRect            frame;

// 位置和尺寸(以自己的左上角为坐标原点(0, 0))

@property(nonatomic) CGRect            bounds;

// 中点(以父控件的左上角为坐标原点(0, 0))

@property(nonatomic) CGPoint           center;

// 形变属性(平移\缩放\旋转)

@property(nonatomic) CGAffineTransform transform;   // default is CGAffineTransformIdentity

// YES:支持多点触摸

@property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled;   // default is NO

@end

@interface UIView(UIViewHierarchy)

// 父控件

@property(nonatomic,readonly) UIView       *superview;

// 子控件(新添加的控件默认都在subviews数组的后面, 新添加的控件默认都显示在最上面\最顶部)

@property(nonatomic,readonly,copy) NSArray *subviews;

// 获得当前控件所在的window

@property(nonatomic,readonly) UIWindow     *window;

// 从父控件中移除一个控件

- (void)removeFromSuperview;

// 添加一个子控件(可以将子控件插入到subviews数组中index这个位置)

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

// 交换subviews数组中所存放子控件的位置

- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;

// 添加一个子控件(新添加的控件默认都在subviews数组的后面, 新添加的控件默认都显示在最上面\最顶部)

- (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)didAddSubview:(UIView *)subview;

- (void)willRemoveSubview:(UIView *)subview;

- (void)willMoveToSuperview:(UIView *)newSuperview;

- (void)didMoveToSuperview;

- (void)willMoveToWindow:(UIWindow *)newWindow;

- (void)didMoveToWindow;

/**系统自动调用**/

// 是不是view的子控件或者子控件的子控件(是否为view的后代)

- (BOOL)isDescendantOfView:(UIView *)view;  // returns YES for self.

// 通过tag获得对应的子控件(也可以或者子控件的子控件)

- (UIView *)viewWithTag:(NSInteger)tag;     // recursive search. includes self

/**系统自动调用(留给子类去实现)**/

// 控件的frame发生改变的时候就会调用,一般在这里重写布局子控件的位置和尺寸

// 重写了这个写方法后,一定调用[super layoutSubviews];

- (void)layoutSubviews;

@end

@interface UIView(UIViewRendering)

// YES : 超出控件边框范围的内容都剪掉

@property(nonatomic)                 BOOL              clipsToBounds;

// 背景色

@property(nonatomic,copy)            UIColor          *backgroundColor; // default is nil

// 透明度(0.0~1.0)

@property(nonatomic)                 CGFloat           alpha;                      // default is 1.0

// YES:不透明  NO:透明

@property(nonatomic,getter=isOpaque) BOOL              opaque;                     // default is YES

// YES : 隐藏  NO : 显示

@property(nonatomic,getter=isHidden) BOOL              hidden;

// 内容模式

@property(nonatomic)                 UIViewContentMode contentMode;

转载于:https://www.cnblogs.com/GJ-ios/p/5397947.html

UI- UIView控件知识点回顾相关推荐

  1. UI基础控件创建(UILabel、UITextField、UIButton)

    UI基础控件创建(UILabel.UITextField.UIButton) UILabel //UILabel;UILabel *nameLabel = [[UILabel alloc] init] ...

  2. elementui树状菜单tree_Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)...

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级 ...

  3. android预览ppt插件,Android UI基本控件.ppt

    Android UI基本控件 Android 开发 常用基本控件 常用控件(Widget) 文本控件 TextView EditText 按钮控件 Button ImageButton 状态开关按钮 ...

  4. 2021年Top 5主流用户界面(UI)控件推荐

    什么是用户界面(UI)控件? 用户界面简称UI,是英文User和 interface的缩写.从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系.用户界面(UI)控件就是可以嵌入 ...

  5. WPF基础五:UI④ 条目控件ContextMenu

    派生关系: Object->DispatcherObject->DependencyObject->Visual->UIElement->FrameworkElement ...

  6. 妹子ui日期控件Uncaught TypeError: $(...).datepicker is not a function

    前端代码 调整位置 还有一个问题是妹子ui日期控件禁用问题 比文档里面多了class data-am-datepicker,结果导致不生效!!!

  7. JQuery1.2.6 ui.dialog控件在IE6下标题栏显示不正常的问题解决

    由于项目中用到了jquery1.2.6版的dialog控件,可以较好地解决一些用户选择.单位选择的问题,也比较美观,但后来发现在IE6下显示有点不正常,截图请参见最后,经过查看源代码发现只要将css里 ...

  8. QT [007] QT UI 的控件操控问题 - 如何操控多嵌套的UI控件

    前言:QT 的多层叠和嵌套的控件有很多.我在实际尝试去尝试操控这项控件的是否,发现如何要找到一组控件里面的对象去操作,总是找不到方法,本文,将介绍如何解决这个问题. 我们看下面这个例子: ref: h ...

  9. Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级 ...

最新文章

  1. 投资的境界:及时抓住机会或止损才是硬道理
  2. 机器学习系列 5:特征缩放
  3. 【 C 】联合(union)或共用体(union)
  4. 在myeclipse当中使用正则表达式去除单行注释
  5. SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施
  6. 批量修改编码格式小工具
  7. 使用VC++远程调试Linux程序
  8. 成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation b
  9. 13、创建触发器(CREATE TRIGGER)
  10. java基础提升篇:深入浅出Java多线程
  11. 用sqlSessionFactoryBeanName而不用sqlSessionFactory的原因
  12. 数字语音信号处理学习笔记——语音信号的短时时域分析(2)
  13. Css学习总结(4)——CSS选择器总结
  14. 关于vs.net中读取文件出现乱码的现象
  15. Android关于Paint你所知道的和不知道的一切
  16. 关于在for循环中绑定事件打印变量i是最后一次。
  17. Python深度学习:Python数据处理及可视化(读书笔记)
  18. 联想主板9针开关接线图_空气开关、断路器、漏电保护,汇总学习一下
  19. src 漏洞平台 应急响应中心 提交漏洞 简介
  20. 技术分享| 如何快速实现音视频在线通话

热门文章

  1. CString与std::string unicode下相互转化
  2. Validation of XML with XSD
  3. 数据库设计(三)概念数据模型
  4. 编译bluez-5.25 通过 Linux环境下运行
  5. MySQL(3)数据库用户管理
  6. 10分钟!构建支持10万/秒请求的大型网站
  7. 实时数仓入门训练营:实时计算 Flink 版 SQL 实践
  8. 数据智能构建管理平台Dataphin V2.9.4.3版本发布
  9. 阿里中间件再获高度肯定,“三位一体”推动技术普惠
  10. Linux纯干货知识总结|面试专用