Re: [問題] 如何取空白可畫圖的大小?

看板MacDev作者 (zonble)時間13年前 (2010/12/28 04:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串10/11 (看更多)
※ 引述《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 大概是這樣寫的: - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { UIViewController *lastCV = [_viewControllers lastObject]; [lastCV viewWillDisappear:animated]; [_viewControllers addObject:viewController]; [viewController viewWillAppear:animated]; viewController.frame = [_contentView bounds]; [[[_contentView subviews] lastObject] removeFromSuperview]; [_contentView addSubview:viewController.view]; if (animated) { CATransition *transition = [CATransition animation]; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromLeft; ...... } [lastCV viewDidDisappear:animated]; [viewController viewDidAppear:animated]; } -- zonble.net cocoa.zonble.net -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.182.144
文章代碼(AID): #1D6FYot8 (MacDev)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 10 之 11 篇):
文章代碼(AID): #1D6FYot8 (MacDev)