【发布时间】:2018-03-04 17:32:46
【问题描述】:
我最近在表格视图中添加了一个 UISearchController,但遇到了动画问题。当搜索栏被点击并变为活动状态时,表格视图会向上跳到搜索控制器的新(活动)位置。这样做的问题是搜索控制器动画到这个新位置,但表格视图没有,所以它很不和谐。 Here is a video 的问题。
表视图的顶部约束设置为视图控制器的安全区域。下面是我为配置搜索控制器编写的代码:
- (void)configureSearchController {
UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
searchController.searchResultsUpdater = self;
searchController.obscuresBackgroundDuringPresentation = NO;
searchController.searchBar.placeholder = @"Search for any cryptocurrency";
self.searchController = searchController;
if (@available(iOS 11.0, *)) {
self.navigationItem.searchController = searchController;
} else {
self.navigationItem.titleView = searchController.searchBar;
}
self.definesPresentationContext = YES;
}
对于如何使过渡顺利进行,有人有什么建议吗?理想情况下,我希望表格视图以与搜索控制器相同的速度向上移动,因为这是整个 iOS 的默认行为。
【问题讨论】:
-
你的tableView是否在导航栏下方延伸? -edgesForExtendedLayout 和 -extendedLayoutIncludesOpaqueBars 有什么值?
标签: ios objective-c uitableview uikit uisearchcontroller