1

在我的应用程序中,我的UITableView. 我试图将内容偏移设置为我UITableView的以隐藏搜索栏,但这给我带来了一些问题。

最后我这样解决了:

- (void)viewWillAppear:(BOOL)animated
{
    [self performSelector:@selector(hideSearchBar) withObject:nil afterDelay:0.0f];
}

- (void)hideSearchBar 
{
    self.tblView.contentOffset = CGPointMake(0, 40);
}

问题是它只适用于 iOS 8。

我怎样才能正确地实现这一点以同时适用于 iOS 7 和 8 ????

对不起我糟糕的英语。提前致谢。

4

2 回答 2

1

如果您通过self.tblView.tableHeaderView = yourSearchBar(推荐方式)设置标题,请尝试

self.tblView.tableHeaderView = nil;

或者

self.tblView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectZero];

隐藏它。

附言。yourSearchBar应该是实例变量或属性,以便将来方便显示。

于 2015-05-14T09:13:27.730 回答
1
- (void)viewDidLoad
{
    [super viewDidLoad];

    UISearchBar *bar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40)];

    self.tableView.tableHeaderView = bar;

}

- (void)viewWillAppear:(BOOL)animated
{
    [self performSelector:@selector(hideSearchBar) withObject:nil afterDelay:0.0f];
}

- (void)hideSearchBar
{
    self.tableView.contentOffset = CGPointMake(0, -24);
}
于 2015-05-14T09:24:00.237 回答