日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习)

發布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好了,我接著上篇,開始我們的對UIView 實例方法的探索
UIView?實例方法 Instance Methods

初始化一個視圖
- (id)initWithFrame:(CGRect)aRect //用指定的frame 初始化一個視圖對象

結束視圖中的編輯狀態
- (BOOL)endEditing:(BOOL)force?
//這個在彈回鍵盤時特別有用

關于響應
- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
//為視圖添加一個手勢識別器
- (void)removeGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
//移除一個手勢識別器
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
//開始一個手勢識別器
- (void)addMotionEffect:(UIMotionEffect *)effect
//開始向視圖中添加運動效果,這么說其實比較模糊,比如說警告框會隨著手機的傾斜而傾斜,
當然這需要代碼實現,只是我們現在可以檢測手機的運動事件來做出相應的響應
//從IOS7開始使用

管理視圖層次 Managing the View Hierarchy

- (void)addSubview:(UIView *)view //添加子視圖
- (void)removeFromSuperview //從父視圖中移除

- (void)bringSubviewToFront:(UIView *)view?
//移動指定的子視圖到最頂層
- (void)sendSubviewToBack:(UIView *)view
//移動制定的子視圖到后方,所有子視圖的下面

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index
//在指定的位置插入子視圖,視圖的所有視圖其實組成了一個數組
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview
//將指定的子視圖移動到指定siblingSubview子視圖的前面
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview
//將指定的子視圖移動到指定siblingSubview子視圖的后面
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2
//交換兩子視圖的位置

- (BOOL)isDescendantOfView:(UIView *)view
//判斷接收對象是否是指定視圖的子視圖,或與指定視圖是同一視圖

配置自動調整大小狀態 Configuring the Resizing Behavior
- (void)sizeToFit //根據子視圖的大小位置,調整視圖,使其恰好圍繞子視圖,
也就是說自動適應子視圖的大小,只顯示子視圖
- (CGSize)sizeThatFits:(CGSize)size
//讓視圖計算最適合子視圖的大小,即能把全部子視圖顯示出來所需要的最小的size

鋪設子視圖 Laying out Subviews

- (void)layoutSubviews //勾畫子視圖
- (void)layoutIfNeeded //立即勾畫子視圖
- (void)setNeedsLayout?
//使當前接收對象的布局作廢,并在下一更新周期觸發一個新的布局

選擇加入基于約束的布局 Opting in to Constraint-Based Layout

- (void)setTranslatesAutoresizingMaskIntoConstraints:(BOOL)flag
//設置視圖自動調整尺寸的掩碼是否轉化為基于約束布局的約束
- (BOOL)translatesAutoresizingMaskIntoConstraints
//判斷視圖是否將自動調整尺寸的掩碼是否轉化為基于約束布局的約束

管理約束 Managing Constraints

- (NSArray *)constraints //返回由視圖創建的約束

- (void)addConstraint:(NSLayoutConstraint *)constraint
//為視圖布局或者子視圖添加一個約束,constraint約束只能在當前視圖范圍內,包括子視圖
- (void)addConstraints:(NSArray *)constraints
//添加一組約束

- (void)removeConstraint:(NSLayoutConstraint *)constraint
//移除視圖上指定的約束
- (void)removeConstraints:(NSArray *)constraints
//移除指定的一組約束

在基于約束布局的測量 Measuring in Constraint-Based Layout

- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize
//返回滿足持有約束的視圖的size

- (CGSize)intrinsicContentSize
//返回接收對象的原本大小

- (void)invalidateIntrinsicContentSize
//廢除視圖原本內容的size

- (UILayoutPriority)contentCompressionResistancePriorityForAxis:(UILayoutConstraintAxis)axis
//設置當視圖要變小時,視圖的壓縮改變方式,是水平縮小還是垂直縮小,并返回一個優先權
- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis
//設置優先權

- (UILayoutPriority)contentHuggingPriorityForAxis:(UILayoutConstraintAxis)axis
//與上邊相反是視圖的放大改變方式
- (void)setContentHuggingPriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis
//參照上面的方法

校準視圖 Aligning Views with Constraint-Based Layout

- (CGRect)alignmentRectForFrame:(CGRect)frame
//返回給定框架的視圖的對齊矩陣
- (CGRect)frameForAlignmentRect:(CGRect)alignmentRect
//返回給定對齊矩形的視圖的frame
- (UIEdgeInsets)alignmentRectInsets
//返回從視圖的frame上定義的對齊矩陣的邊框?
- (UIView *)viewForBaselineLayout
//返回滿足基線約束條件的視圖

觸發基于約束的布局 Triggering Constraint-Based Layout

- (BOOL)needsUpdateConstraints //視圖的約束是否需要更新
- (void)setNeedsUpdateConstraints //設置視圖的約束需要更新

- (void)updateConstraints //為視圖更新約束
- (void)updateConstraintsIfNeeded //更新視圖和其子視圖的約束

調試基于約束的布局 Debugging Constraint-Based Layout

- (NSArray *)constraintsAffectingLayoutForAxis:(UILayoutConstraintAxis)axis
//返回影響一個給定軸視圖布局的約束

- (BOOL)hasAmbiguousLayout //視圖的位置是否不完全指定

- (void)exerciseAmbiguityInLayout
//在不同的有效值之間用一個模糊的布局隨機改變視圖的frame

繪畫和更新視圖 Drawing and Updating the View

- (void)drawRect:(CGRect)rect //在指定的區域繪畫視圖

- (void)setNeedsDisplay //標記整個視圖的邊界矩形需要重繪
- (void)setNeedsDisplayInRect:(CGRect)invalidRect
//標記在指定區域內的視圖的邊界需要重繪

格式化打印視圖內容

- (UIViewPrintFormatter *)viewPrintFormatter //返回視圖的打印格式化

- (void)drawRect:(CGRect)area forViewPrintFormatter:(UIViewPrintFormatter *)formatter
//指定區域和打印格式繪畫視圖內容

保存和恢復狀態 Preserving and Restoring State

- (void)encodeRestorableStateWithCoder:(NSCoder *)coder
//編碼視圖的狀態信息
- (void)decodeRestorableStateWithCoder:(NSCoder *)coder
//解碼一個視圖狀態信息

標記視圖?
- (UIView *)viewWithTag:(NSInteger)tag

轉換視圖間坐標 Converting Between View Coordinate Systems

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
//轉換一個點從接受對象的坐標系到指定視圖
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view
//與上面相反,指定視圖坐標中的一個點轉換為接收對象

- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view
//參照上面兩個方法

視圖中的點擊測試

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
//在指定點上點擊測試指定事件
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
//測試指定的點是否包含在接收對象中

注意與視圖相關聯的改變 Observing View-Related Changes

- (void)didAddSubview:(UIView *)subview
//通知視圖指定子視圖已經添加
- (void)willRemoveSubview:(UIView *)subview
//通知視圖將要移除指定的子視圖

- (void)willMoveToSuperview:(UIView *)newSuperview
//通知視圖將要移動到一個新的父視圖中
- (void)didMoveToSuperview
//通知視圖已經移動到一個新的父視圖中

- (void)willMoveToWindow:(UIWindow *)newWindow
//通知視圖將要移動到一個新的window中
- (void)didMoveToWindow
//通知視圖已經移動到一個新的window中

轉載于:https://www.cnblogs.com/wfwenchao/articles/3831696.html

總結

以上是生活随笔為你收集整理的iOS UIView的一些方法和属性(本博客侧重于视图布局部分的学习)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美系列在线观看 | 久久美女免费视频 | 少妇综合网 | 农村少妇久久久久久久 | 欧美日韩二三区 | 亚洲国产精品成人久久蜜臀 | 欧美高清精品一区二区 | 9191国产精品| 午夜网站在线观看 | 精品一区二区三区电影 | 久久亚洲AV成人无码国产人妖 | 亚洲精品一区二区三区区别 | 高清av一区二区三区 | 国产视频一区二区三区四区五区 | 国产精品一区二区三区免费视频 | 伊人久久大香线蕉成人综合网 | 老司机av网站 | 久久久999成人 | 伊人五月综合 | 日韩精品视频免费播放 | 久久99精品久久久久 | 名人明星三级videos | 国产精品一区二区av白丝下载 | 高清国产在线 | 国产三级国产精品国产国在线观看 | 亚洲成a人片77777kkkk | 成人免费看aa片 | 亚洲一区在线视频观看 | 精品国产va久久久久久久 | 国产一区二区三区视频播放 | 嫩草一区二区三区 | 9191久久 | 日韩性欧美 | 国产在线观看www | 在线视频毛片 | 成人a毛片 | 在线免费国产视频 | 男人日女人的网站 | 狠狠躁 | 欧美在线 | 亚洲 | 国产真实乱人偷精品 | 精品一区二区免费看 | 国产激情综合五月久久 | 国产美女无遮挡免费视频 | 俄罗斯毛片基地 | 欧美一区二区三区四区在线 | 久久人妻少妇嫩草av | 国产精品视频久久久久久 | 撸大师av| 可以在线观看的黄色 | 波波野结衣 | 岛国av中文字幕 | 午夜影院操 | 手机看片日韩在线 | 免费在线黄色网址 | 欧美日韩大片在线观看 | 天海翼中文字幕 | 韩国电影一区二区三区 | 久久伊人av| 98堂 最新网名 | 欧美日韩二区三区 | 青草精品在线 | 色戒电影未测减除版 | 亚洲中文无码av在线 | 亚洲精品v天堂中文字幕 | 久草视频在线免费 | 国产成年人免费视频 | 激情六月天婷婷 | 奇米在线 | 九九色综合网 | 国产精品久久在线 | 欧美性猛交xxxx黑人猛交 | 亚洲爆乳无码一区二区三区 | 韩国成人在线视频 | 国产综合精品 | 国产又大又黄的视频 | 欧美夜夜| 国产精品一线二线 | 无套内谢的新婚少妇国语播放 | 午夜大片网 | 91污片| 特黄aaaaaaa片免费视频 | 亚洲av乱码久久精品蜜桃 | 一级色网站 | 亚洲13p| 国产精品日韩 | 大肉大捧一进一出好爽视频动漫 | 欧美aa| 色涩色| 不卡在线 | 老外黄色一级片 | 午夜av免费| 黑人性xxx| av自拍偷拍 | 蜜臀av无码一区二区三区 | 日韩欧美三级在线 | 精品一区二区三区免费毛片爱 | 日韩欧美亚洲国产 | 毛茸茸成熟亚洲人 |