我的UIScrollView
包含3个UITableView
和pagingEnabled = YES
。
用户可以向左或向右平移以在表之间切换(就像iOS的通知中心一样)。
我已经处理了几乎所有的视觉错误(如果有人需要,我可以提供帮助),但问题是每个表都有UISearchBar
。这意味着在我的控制器中,我创建了3 UITableView
,3 UISearchBar
和3 UISearchDisplayController
。
这将是一个地狱凌乱的控制者之一。
这种情况下的最佳做法是什么?
答案 0 :(得分:0)
这听起来很乏味。
为什么不创建一个具有SearchBar和Tableview的UIViewController。自定义viewController以通过标签区分,可能添加一些委托并将其添加到您的UIScrollview?这样,编码将是结构化和干净的
我只是吐痰。
答案 1 :(得分:0)
左侧或右侧的桌子将随您的滑动一起移动。您有一类自定义UIViewController但不同的实例。
- (SearchResultViewController *)viewControllerAtIndex:(NSUInteger)index
{
if (([[LeboncoinAgent shareAgent].searchConditions count] == 0) || (index >= [[LeboncoinAgent shareAgent].searchConditions count])) {
return nil;
}
// Create a new view controller and pass suitable data.
SearchResultViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SearchResultViewControllerId"];
pageContentViewController.pageIndex = index;
pageContentViewController.controller = self;
return pageContentViewController;
}
#pragma mark - Page View Controller Data Source
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
NSUInteger index = ((SearchResultViewController*) viewController).pageIndex;
if ((index == 0) || (index == NSNotFound)) {
return nil;
}
index--;
_currentPageIndex = index;
return [self viewControllerAtIndex:index];
}