这是一个非常艰难的臭虫壁球,我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)
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
-------------------------------------