Re: [問題] 如何取空白可畫圖的大小?
※ 引述《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
討論串 (同標題文章)