gpt4 book ai didi

ios - 为什么我的 UISearchBar 的框架被 UISearchDisplayController 改变了

转载 作者:可可西里 更新时间:2023-11-01 06:18:48 26 4
gpt4 key购买 nike

我在 TopBar.m 中这样写 UISearchBar:

_tempSearchBar =[[UISearchBar alloc]initWithFrame:CGRectMake(44, 0, 320 - 44, 43)];
_tempSearchBar.barStyle=UIBarStyleDefault;
_tempSearchBar.placeholder=@"搜索";
[self addSubview:_tempSearchBar];

结果是这样的,没错。 enter image description here

然后我在另一个类中编写 UISearchDisplayController,如下所示:

_topBar.tempSearchBar.delegate = self;    
_searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:_topBar.tempSearchBar contentsController:self];
[_searchDisplayController setDelegate:self];
[_searchDisplayController setSearchResultsDataSource:self];

UISearchBarDelegate 是这样的:

#pragma mark -
#pragma mark UISearchBarDelegate
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
[_searchDisplayController setActive:YES animated:YES];
}

当我点击 UISearchBar 时,它显示如下,searchBar 的框架改变了。为什么? enter image description here

当我取消 UISearchDisplayController 时,它是这样的: enter image description here

为什么框架变了? UISearchDisplayController 将宽度从 320-44 更改为 320?
谢谢。

最佳答案

UISearchDisplayController 将搜索栏扩展到其父 View 的宽度。我找到的最简单的解决方案是将搜索栏放在另一个具有我正在寻找的宽度的 UIView 中。

关于ios - 为什么我的 UISearchBar 的框架被 UISearchDisplayController 改变了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907261/

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