gpt4 book ai didi

ios - 自动布局不起作用?

转载 作者:可可西里 更新时间:2023-11-01 03:56:10 24 4
gpt4 key购买 nike

我在使用自动布局设置的表格 View 顶部有一个搜索栏,如下所示:

_searchBar.translatesAutoresizingMaskIntoConstraints = NO;
_tableView.translatesAutoresizingMaskIntoConstraints = NO;

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_searchBar]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_searchBar)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_tableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tableView)]];

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_searchBar][_tableView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_searchBar, _tableView)]];

运行时一切看起来都不错。但是当我做 _searchBar.showsScopeBar = YES;在我开始编辑搜索栏之前,搜索栏和表格 View 不会自动调整大小。即使我做 [_searchBar sizeToFit] ,表格 View 不会调整大小并向下移动。为什么??

注意:我没有将搜索栏作为表格 View 的标题;它只是一个父 View 和两个 subview 。注 2:我检查了 intrinsicContentSize_searchBar在我打电话之前和之后 _searchBar.showsScopeBar = YES;并且大小确实发生了变化。

最佳答案

您必须invalidateIntrinsicContentSize:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
searchBar.showsScopeBar = YES;
[searchBar invalidateIntrinsicContentSize];
[searchBar setShowsCancelButton:YES animated:YES];
}

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
searchBar.showsScopeBar = NO;
[searchBar invalidateIntrinsicContentSize];
[searchBar setShowsCancelButton:NO animated:YES];
}

参见 UISearchBar's scope button won't show up iOS6

关于ios - 自动布局不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15097820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com