iOS UIView常见属性方法小结

发布时间 - 2026-01-10 21:50:35    点击率:

下面通过实例代码给大家详细介绍了iOS UIView常见属性方法,具体代码如下所示:

UIView : UIResponder
 /**
通过一个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;
@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;        // default is UIViewContentModeScaleToFill
 @end
 //动画
@interface UIView(UIViewAnimationWithBlocks)
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations;
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
 @end

以上所述是小编给大家介绍的iOS UIView常见属性方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # uiview  # 方法  # iOS为UIView设置阴影效果  # iOS应用开发中UIView添加边框颜色及设置圆角边框的方法  # 详解iOS中UIView的layoutSubviews子视图布局方法使用  # 详解iOS开发中的转场动画和组动画以及UIView封装动画  # 详解iOS App开发中UIViewController的loadView方法使用  # iOS动画-定时对UIView进行翻转和抖动的方法  # IOS自定义UIView  # IOS UIView的生命周期的实例详解  # IOS设置UIView的边框为圆角详解及实例  # iOS布局渲染之UIView方法的调用时机详解  # 都在  # 子类  # 给大家  # 拉到  # 小编  # 自己的  # 组中  # 多点  # 就会  # 在这里  # 在此  # 可以通过  # 写了  # 详细介绍  # 重写  # 所示  # 图层  # 所述  # 给我留言  # 感谢大家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: lovemo网页版地址 lovemo官网手机登录  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Android Socket接口实现即时通讯实例代码  如何在宝塔面板中创建新站点?  简历在线制作网站免费版,如何创建个人简历?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  进行网站优化必须要坚持的四大原则  微信小程序 input输入框控件详解及实例(多种示例)  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  如何实现javascript表单验证_正则表达式有哪些实用技巧  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何基于PHP生成高效IDC网络公司建站源码?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel如何保护应用免受CSRF攻击?(原理和示例)  香港服务器租用费用高吗?如何避免常见误区?  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  详解MySQL数据库的安装与密码配置  javascript日期怎么处理_如何格式化输出  JavaScript如何实现路由_前端路由原理是什么  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  如何快速搭建虚拟主机网站?新手必看指南  如何在Tomcat中配置并部署网站项目?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Python文件操作最佳实践_稳定性说明【指导】  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  北京企业网站设计制作公司,北京铁路集团官方网站?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  免费网站制作appp,免费制作app哪个平台好?  黑客如何利用漏洞与弱口令入侵网站服务器?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何在阿里云虚拟服务器快速搭建网站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在建站之星绑定自定义域名?  制作公司内部网站有哪些,内网如何建网站?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Mybatis 中的insertOrUpdate操作  javascript中闭包概念与用法深入理解  JS去除重复并统计数量的实现方法