`
wsqwsq000
  • 浏览: 675473 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

UIView中的常用方法

 
阅读更多
  1. addSubview:  
  2. 添加一个子视图到接收者并让它在最上面显示出来。   
  3. - (void)addSubview:(UIView *)view   
  4. 讨论   
  5. 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表,那么视图将会被释放。如果你想要在视图移除显示列表後保留并使用这个视图(如果,举个例子,你想要交换一些视图的位置。),你不许保留那个视图在他调用removeFromSuperview前。   
  6.   
  7. bringSubviewToFront:  
  8. 把指定的子视图移动到顶层   
  9. - (void)bringSubviewToFront:(UIView *)view   
  10. 参数   
  11. view   
  12. 需要移到顶层的视图   
  13.   
  14. convertPoint:fromView:  
  15. 把一个点从一个坐标系转换到接收者的坐标系   
  16. - (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view   
  17. 参数   
  18. point   
  19. 一个视图中坐标系上的点   
  20. view   
  21. 一个视图包含了点和他自身坐标系。如果是图是nil,那么这个方法将尝试转换基于窗口的坐标系。否则视图和那个接收者必须属于同一个UIWindow对象。   
  22. 返回值   
  23. 一个转换到接收者坐标系的点   
  24.   
  25. convertPoint:toView:  
  26. 转换一个点从接收者坐标系到给定的视图坐标系   
  27. - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view   
  28. 参数   
  29. point   
  30. 一个在调用者坐标系中的点   
  31. view   
  32. 一个包含了需要被转换的点的视图。如果视图是nil,那么这个方法将会转换成基于窗口的坐标。否则视图和接收者都要属于同一个UIWindow对象。   
  33. 返回值   
  34. 基于视图的坐标系转换过的点   
  35.   
  36. convertRect:fromView:   
  37. 转换一个矩形从其他视图坐标系到接收者坐标系。   
  38. - (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view   
  39. 参数   
  40. rect   
  41. 一个在视图坐标系中的矩形   
  42. view   
  43. 一个视图内部有矩形在他的坐标系中。如果视图是nil,那么这个方法将会基于窗口来转换。否则视图和接收者必须都属于同一个UIWindow对象   
  44. 返回值   
  45. The converted rectangle   
  46. 转换过的矩形   
  47.   
  48. convertRect:toView:  
  49. 转换接收者坐标系中的矩形到其他视图   
  50. - (CGRect)convertRect:(CGRect)rect toView:(UIView *)view   
  51. 参数   
  52. rect   
  53. 一个在接收者坐标系中的矩形   
  54. view   
  55. 要转换过去的目标视图对象。如果这个是视图是nil,这个方法将会基于窗口坐标系来转换。否者视图和接收者必须属于同一个UIwindow对象   
  56. 返回值   
  57. 一个转换过的矩形   
  58.   
  59. didAddSubview:  
  60. 告诉视图当子视图已经添加   
  61. - (void)didAddSubview:(UIView *)subview   
  62. 参数   
  63. subview   
  64. 被添加做子视图的视图对象   
  65. 讨论   
  66. 被子类重写用来执行额外的命令当子视图添加到接收者。这个方法被addSubview调用   
  67.   
  68. didMoveToSuperview   
  69. 通知接收者父视图已经改变(nil是允许的)   
  70. - (void)didMoveToSuperview   
  71. 讨论   
  72. 默认不做任何事情;子类可以重写这方法来作为特定的实现   
  73.   
  74. didMoveToWindow   
  75. 通知接收者它一斤给添加到窗口中   
  76. - (void)didMoveToWindow   
  77. 讨论   
  78. 默认实现不做任何事情;子类可以重写这个方法来做特殊的实现   
  79. 窗口的属性有可能是nil当这个方法调用的时候,这表明接收者并不属于当然任何一个窗口。这个只发生在接收者从它的父视图上移除或者接收者添加到父视图中而不是添加到window中。重写这个方法可以用来选择忽略一些他们不关心的对象   
  80.   
  81. drawRect:  
  82. 在接收者视图中绘制矩形   
  83. - (void)drawRect:(CGRect)rect   
  84. 参数   
  85. rect   
  86. 一个定义的需要绘制的矩形   
  87. 讨论   
  88. 子类重写这个方法如果他们确实要绘制他们自定义的视图。如果子类是其他视图的容器那么它不需要重写这个方法。默认的实现不做任何事情。如果你自定义的视图是一个UIView子类,你不需要去调用它的父类实现。注意如果它的父类实现绘制并且不透明属性为YES那么每一个子类都需要填充矩形。   
  89. 当这个方法被调用,接收者可以假定他的帧在坐标上已经转换,边界矩形已经应用;所有他要做的就是绘制自定义的方法。使用UIGraphicsGetCurrentContext方法去获取当前图形内容用来绘制,坐标原点在左上角。不要保留图片内容当他可以被drawRect:这个方法调用。   
  90. exchangeSubviewAtIndex:withSubviewAtIndex:  
  91. 交换接收者的子视图和给定的索引视图   
  92. - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2   
  93. 参数   
  94. index1   
  95. 一个需要取代索引2的子视图   
  96. index2   
  97. 一个需要取代索引1的子视图   
  98.   
  99. hitTest:withEvent:  
  100. 返回接收者视图层次中最远的派生(包括它本身)的特定的点。   
  101. - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event   
  102. 参数   
  103. point   
  104. 接收者坐标系中的点   
  105. event   
  106. 触发这个方法的事件或者是如果这个方法被预调用就返回nil   
  107. 返回值   
  108. 一个视图对象最远的派生点。如果这个点位于接收者之外就返回nil   
  109. 讨论   
  110. 这个方法贯穿视图的层次发送pointInside:withEvent: 消息到每一个子视图用来决定那个子视图需要接收触摸事件。如果pointInside:withEvent: 返回YES,那么视图的层次全部贯穿;否则视图层次的分支是被否定的。你不太需要调用这个方法,但是你需要重写它用来隐藏子视图的触摸事件。   
  111. 如果视图是隐藏的,禁止用户交互的或者透明值小于01那么这个方法不可用   
  112.   
  113. initWithFrame:  
  114. 初始化并返回一个新的拥有特定帧矩形的视图对象   
  115. - (id)initWithFrame:(CGRect)aRect   
  116. 参数   
  117. aRect   
  118. 一个帧矩形用来创建视图对象。原始的帧在它的父视图的坐标系中。设置这个属性用来改变中心和边界属性。   
  119. 返回值   
  120. 一个初始化的视图对象,如果没有被创建那就返回nil   
  121. 讨论   
  122. 一个新的视图对象必须添加到视图链中才能使用。这个方法为UIView类指出初始化对象。   
  123.   
  124. insertSubview:aboveSubview:   
  125. 在视图层次顶层插入一个视图   
  126. - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview   
  127. 参数   
  128. view   
  129. 一个插入被用来放在顶层的视图。它将会从父视图中移除如果它不是相邻视图   
  130. siblingSubview   
  131. 一个相邻视图用来放在插入视图的後面  
  132.   
  133. insertSubview:atIndex:   
  134. 插入视图到指定的索引   
  135. - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index   
  136. 参数   
  137. view   
  138. 插入的视图,这个值不能是nil   
  139. index   
  140. 子视图索引从0开始并且不能大于子视图的数量   
  141.   
  142. insertSubview:belowSubview:   
  143. 插入视图到显示链的底层   
  144. - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview   
  145. 参数   
  146. view   
  147. 一个需要插入到其他视图底部的视图。它将从它的父视图移除如果它不与相邻视图的相邻   
  148. siblingSubview   
  149. 一个相邻视图将会在插入的视图之上   
  150.   
  151. isDescendantOfView:   
  152. 返回一个布尔值指出接收者是否是给定视图的子视图或者指向那个视图   
  153. - (BOOL)isDescendantOfView:(UIView *)view   
  154. 参数   
  155. view   
  156. 一个视图用来测试子视图在视图层次中的关系   
  157. 返回值   
  158. 如果接收者是视图的子视图就返回YES,或者视图就是接收者;否则就是NO   
  159.   
  160. layoutIfNeeded   
  161. 排列子视图如果需要的话   
  162. - (void)layoutIfNeeded   
  163. 讨论   
  164. 使用这个方法来关注子视图的排列在绘制前   
  165.   
  166. layoutSubviews   
  167. 排列子视图   
  168. - (void)layoutSubviews   
  169. 讨论   
  170. 当layoutIfNeeded被调用是子类用来重写这个方法来排列子视图。默认实现这个方法不做任何事情。   
  171.   
  172. pointInside:withEvent:   
  173. 返回一个布尔值指出接收者是否包含特定的点   
  174. - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event   
  175. 参数   
  176. point   
  177. 一个在接收者坐标系内的点   
  178. event   
  179. 这个方法的目标事件或者如果这个方法被预调用返回nil   
  180. 返回值   
  181. 如果点在接收者边界内返回YES,否则返回NO   
  182.   
  183. removeFromSuperview   
  184. 把接收者从它的父视图或者窗口移除,并在响应链中移除。   
  185. - (void)removeFromSuperview   
  186. 讨论   
  187. 接收者同时释放;如果你计划重用它,要确定在发送消息前保持它并在添加到其他UIView对象作为子视图後移除。 不要在显示的时候调用   
  188.   
  189. sendSubviewToBack:   
  190. 移动指定的子视图到它相邻视图的後面   
  191. - (void)sendSubviewToBack:(UIView *)view   
  192. 参数   
  193. view   
  194. 一个子视图用来移动到它後面去   
  195.   
  196. setNeedsDisplay   
  197. 控制接收者的边界矩形被标记为需要显示   
  198. -(void)setNeedsDisplay   
  199. 讨论   
  200. 默认情况下,视图几何图形的改变自动重绘而不需要调用drawRect:方法。因此,你需要去请求视图重绘当视图的数据或者状态改变的时候。从这个意义上来说,向视图发送setNeedsDisplay消息。任何UIView对象标记为需要显示後将会在应用程序循环中自动重新绘制。   
  201.   
  202. setNeedsDisplayInRect:   
  203. 标记接收者中的特定的矩形区域为需要显示,或者添加接收者现有的其他无效区域   
  204. - (void)setNeedsDisplayInRect:(CGRect)invalidRect   
  205. 参数   
  206. invalidRect   
  207. 标记接收者的矩形区域为无效的;他需要在接收者坐标系中定义。   
  208. 讨论   
  209. 默认情况下,视图几何图形的改变自动重绘而不需要调用drawRect:方法。因此,你需要去请求视图重绘当视图的数据或者状态改变的时候。使用这个方法或者用setNeedsDisplay方法来标记视图需要显示的地方。   
  210.   
  211. setNeedsLayout   
  212. 设置当子视图显示的时候需要重新排列   
  213. - (void)setNeedsLayout   
  214. 讨论   
  215. 如果你调用这个方法在下一个显示方法之间,那么layoutIfNeeded排列子视图;否则将不会做任何事情   
  216.   
  217. sizeThatFits:   
  218. 计算并返回一个最好的适应接收者子视图的大小   
  219. - (CGSize)sizeThatFits:(CGSize)size   
  220. 参数   
  221. size   
  222. 接收者首选的尺寸   
  223. 返回值   
  224. 一个新的大小用来适应接收者子视图   
  225. 讨论   
  226. 默认的实现返回大小参数 子类重写这个方法用来返回特定视图的大小。举个粒子,UISwitch返回一个修正过的大小,UIImageView返回图片的大小 这个方法并没有改变接收者的大小   
  227.   
  228. sizeToFit  
  229. 调整大小并移动接收者视图大小所以他包含了他的子视图   
  230. - (void)sizeToFit   
  231. 讨论   
  232. 这个方法使用sizeThatFits: 方法来决定大小。子类需要重写sizeThatFits:用来计算正确的尺寸大小。默认的实现不做任何事情。   
  233.   
  234. viewWithTag:   
  235. 返回视图的特定的标签   
  236. - (UIView *)viewWithTag:(NSInteger)tag   
  237. 参数   
  238. tag   
  239. 一个用来在视图中搜索的标签   
  240. 返回值   
  241. 视图在接收者层次中符合的标签,接收者也包含在搜索中。   
  242.   
  243. willMoveToSuperview:   
  244. 通知接收者他的父视图将会改变到特定的父视图(也有可能是nil)   
  245. - (void)willMoveToSuperview:(UIView *)newSuperview   
  246. 参数   
  247. newSuperview   
  248. 新的视图对象将会是接收者新的父视图   
  249. 讨论   
  250. 子类可以重写这个方法来做一些特定的行为   
  251.   
  252. willMoveToWindow:   
  253. 通知接收者它已经被添加到特定的窗口对戏那个的视图层次中(也有可能是nil)   
  254. - (void)willMoveToWindow:(UIWindow *)newWindow   
  255. 参数   
  256. newWindow   
  257. 一个窗口对象将会成为接收者新的视图层次的根视图   
  258. 讨论   
  259. 子类可以重写这个方法来提供一些特定的必要实现   
  260.   
  261. willRemoveSubview:   
  262. 由子类重写用来在子视图从接收者视图中移除前执行一些特定的方法。   
  263. - (void)willRemoveSubview:(UIView *)subview   
  264. 参数   
  265. subview   
  266. 子视图将会被移除   
  267. 讨论   
  268. 这个方法被调用当子视图接收到removeFromSuperview消息或者子视图从接收者视图层次中移除因为它要被添加到其他视图了  
分享到:
评论

相关推荐

    动画之CAAnimation和UIView

    demo中是创建动画常用的两类方法,一种是基于CAAnimation,一种是基于UIView.

    ios-UIView分类,可直接修改frame的值并直接连续设置控件常用属性.zip

    功能3:设置label的frame,title,textColor,font,backgroundColor,textAlignment(因没有提示,textAlignment属性建议使用系统方法设置) 功能四:设置view的frame及backgroundColor 功能五: ...

    iOS_UIView

    UIView的使用 常用api 通过tag获取值

    Cocoa常用类和方法

    iphone开发中经常涉及到的UIControlView UIView 或者UILabel UICorlor 等等这些常用类的常用方法。

    UIKit+Foundation比较实用的category方法

    B、UIView添加设置位置的快捷操作方法 C、UIDevice可以快速获取硬件型号、磁盘可用空间等属性 D、UIApplation常用存储路径的快速访问 E、UIImage的快速初始化和UIImageView的点击事件等 F、16进制颜色的初始化 2、...

    CommonExtensionCollection-Swift:Swift 中的通用扩展集合。 例如 UIView 位置 & 十六进制值颜色

    Such as UIView position & Hex Value Color. Swift 中常用的扩展。比如说 UIView 的位置,十六进制的颜色值等。 ###UIView Inspired by . Thanks @freak4pc. 来自 UIView-Positioning 的启发。谢谢 @freak4pc。 ...

    iOSCodeBase:戴维营教育开发的各类常用控件,可以用于实际项目。CodeBase中对每个控件的实现和使用都进行了详细的说明

    iOSCodeBaseControls developed by Divein Edu. in Changsha, China. They are well tested and can ... Objective-C运行时的一些常用方法的封装 UIView的一些简单工具方法 上拉刷新和下拉加载更多的控件,具有多种形态

    ios-富文本常用封装(NSMutableAttributedString).zip

    一.里面写了个UILabel分类,直接调用 ...里面每个方法都有注释 三.如果有不明白的地方,可以看这篇博客:http://blog.csdn.net/wgl_happy/article/details/52054481 四.测试环境:Xcode 6.2,iOS 6.0 以上

    UIViewExtensions

    这是一个UIView常用的分类,包括切圆角,大小,尺寸

    MBProgressHUD:封装MBProgressHUD常用方法

    (void)showSuccess:(NSString *)success toView:(UIView *)view; /** 显示失败信息提示框 @param success 失败信息 @param view 指定显示信息的view */ (void)showError:(NSString *)error toView:(UIView *)view; /...

    iOS 面试题

    常用 NSThread detachNewThreadSelector NSOperation是在网络上用的多写 继承NSOperation 实现了main函数 Blocks是也是工作线程 5.请描述ios开发中 xml解析涉及的类 我在开发中用json比较多 6.请简述 kvo及其...

    Category:Swift Extension 扩展 分类集锦, 包含 UIView,Date,UIImage,UIColor,String,NSObject等,功能丰富

    最近开发新项目, 需要搭一个框架, 在写常用Category时候, 发现之前写的比较乱,且不够完善, 这次特意总结了下,并且丰富了category库, 框架搭好了,有时间了专门写一篇文章来总结和分享下.,如果对您有所帮助的话,麻烦给...

    iOS开发中常用的各种动画、页面切面效果

    今天主要用到的动画类是CALayer下的CATransition至于各种动画类中如何继承的在这也不做赘述,网上的资料是一抓一大把。好废话少说切入今天的正题。  一.封装动画方法  1.用CATransition实现动画的封装方法如下,...

    ios-工程框架- 一个项目的基类工程.zip

    UIView Helpers //UIView扩展 UIImage Extension //UIImage扩展 NSString Extension //字符串扩展 UITabBar Badge //TabBar小红点扩展 Asset AssetHelper //相册 UploadImages ...

    ios世界杯软件代码

    从技术上来讲,这项目包括很多常用的技巧,包括: 1. 如何通过 NSURLConnection + ...7. 主菜单没有用tableView, 而是用 UIView + UIScrollView + JSON + 自定义的Tap 事件, 这个过程用了Expandad 的 MVC 架构

    HYCategory:iOS开发中常用到的分类

    HYCategory###iOS开发中常用到的分类UIView+Extension:增加方便访问UIView位置的属性,例如直接使用view.frame.origin.x为view.x.UIColor+Extension:增加UIColor的方法,例如增加使用十六进制形式设置颜色的方法。...

    iOS 实现跑马灯效果的方法示例

    在网页开发当中跑马灯是常用到的,用来...自定义一个继承UIView的LGJAutoRunLabel类,在.h文件中: @class LGJAutoRunLabel; typedef NS_ENUM(NSInteger, RunDirectionType) { LeftType = 0, RightType = 1, }; @pro

    IOS-UIButton的常用属性和方法

     对代码创建View(UIControl继承自UIView,所以也是view)不甚了解的请参看:《有关View的几个基础知识点》  2. UIButton 的一个类方法(也可以说是静态方法)buttonWithType  UIButton *btn2 = [UIButton ...

    《iOS6开发指南》精彩书摘

    iOS中开发性能优化方法,其中包括:内存优化、资源文件优化、延迟加载、持久化优化、使用可重用对象、多线程以及程序编译参数等方面介绍性能优化。 第18章“管理好你的程序代码——代码版本控制”。学习如何使用Git...

    整合多个常用控件案例

    源码BFKit,BFKit对常用于开发的类进行了扩展,整合了多个常用的控件和开发所需要的功能,是一个通用性的类库。集成后可以帮助更快的App开发。有兴趣的同学可以看看哦。 使用方法: 复制文件夹BFKit,添加依赖库...

Global site tag (gtag.js) - Google Analytics