這是一個非常艱難的臭蟲壁球,我ObjC福是真的很初學下一個UIScrollView和我的信心崩潰的時間越長我看着這個漂亮的錯誤...UISearchDisplayController動畫的UISearchBar在UIPageControl
的應用程序是需要有一個視圖(我們稱之爲mainView
)與UIPageControl
和UIScrollView
爲了有2個視圖水平滾動。因此,我已經加入實現了它:
// This is added on viewDidLoad...
[self addChildViewController:[self.storyBoard instantiateViewControllerWithIdentifier:@"VC1"]];
[self addChildViewController:[self.storyBoard instantiateViewControllerWithIdentifier:@"VC2"]];
// Further processing of the child view controllers...
self.scrollView.pagingEnabled = YES;
for (NSUInteger i = 0; i < [self.childViewControllers count]; i++) {
UIViewController *controller = [self.childViewControllers objectAtIndex:page];
CGRect frame = self.scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.view.frame = frame;
[self.scrollView addSubview:controller.view];
}
// Expanding scroll view's content size for scrolling...
self.scrollView.contentSize = CGSizeMake(
scrollView.frame.size.width * [self.childViewControllers count],
scrollView.frame.size.height);
注意mainView
本身配備有具有UISearchBar
隱藏屏幕外UISearchDisplayController
。 (不知道這些信息是非常重要的。)
問題與標識符VC2老二視圖控制器還配備有具有UISearchBar
UISearchDisplayController
,並在搜索欄上結束搜索駁回,動畫一些如何做VC2的UISearchBar
重新定位在mainView
的CGRect(0, 0, 320, 40)
而不是VC2。因此VC2的UISearchBar
「扭曲」回VC1。
首先嚐試解決這是一個包含每個子視圖控制器,另一種觀點認爲,希望VC2的UISearchBar
的CGRect(0, 0, 320, 40)
仍將回到VC2,但無濟於事:
for (NSUInteger i = 0; i < [self.childViewControllers count]; i++) {
UIViewController *controller = [self.childViewControllers objectAtIndex:page];
CGRect frame = self.scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
//controller.view.frame = frame;
UIView *container = [[UIView alloc] initWithFrame:frame];
[container addSubview:controller.view];
[self.scrollView addSubview:container];
}
不知怎的,我猜當VC2的UISearchDisplayController
動畫它的UISearchBar
frame
它使用的實際上是self.UIScrollView
之一,但我不確定。
任何人都可以請解釋一下這個bug並將它燒死嗎?這是一個在iOS7
Main View
-------------------
| VC1 | VC2
-------------------------------------
| |_________________| <- Search Bar (This will 'warped' to VC1 at the same
| | | position on end editing)
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
-------------------------------------