作者aecho (星空下的鲔鱼)
看板MacDev
标题Re: [问题] 如何取空白可画图的大小?
时间Tue Dec 28 07:32:45 2010
※ 引述《zonble (zonble)》之铭言:
: ※ 引述《offname (Loafer是了好)》之铭言:
: : → aecho:这个透过super loadView所拿到的view 12/27 13:01
: : → aecho:它的frame的size,是符合它的可用区域。 12/27 13:01
: : → aecho:也就是扣掉navigationBar, statusBar所占用的高度。 12/27 13:02
: : → aecho:跟自己所产生的,但又需要自己设定frame的不太一样唷~ 12/27 13:02
: 其实不是这样耶。在写要加入到 Navigation Controller 的
: view controller 的时候,基本上不需要考虑怎样在生出 view
: 的时候,view 的 frame 就跟 Nav Controller 要求的大小一样,
: 因为 Nav Controller 在 push 一个 view controller 的时候,
: 就会去改变这个 view controller 的 view 的大小。
: 所以,如果我们在包在 Nav Controller 里头的这个 view controller
: 的 view 上面,加了 sub view,我们要做的事情就是要让 view
: 改变 frame 的时候,sub view 也跟着一起改变 frame,也就是,
: sub view 要加上 autoresizing mask。
: 我猜想 push view controller 大概是这样写的:
因为在loadView的时候,从[super loadView]所拿到的view属性都设好啦。
而且以後apple有什麽改动的话,我想官方都会处理好才对 XDD
之前会用到这个,还是为了要用UIImageView弄个背景,
然後贴图的范围不能歪掉。之後还要用这个view frame的height,
因应系统键盘做一些调整。所以height不能算错。
在只有portrait mode的情形下,直接拿该view的frame,事情就简单多了。
然後,我觉得autoresizing mask有时候不是那麽好用的东西。
尤其是牵涉到orientation的问题的时候,很多东西位置靠这个mask会不好调。
--
上士闻道,勤而行之
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.254.81