UISearchBar嵌入UINavigationBar时出现两个问题

时间:2015-03-02 20:27:40

标签: ios objective-c uinavigationbar uisearchbar uinavigationitem

我为UISearchBar设置了默认背景图片:

[[UISearchBar appearance]setSearchFieldBackgroundImage:[UIImage imageNamed:@"search_field"] forState:UIControlStateNormal];  

然后我将UISearchBar设置为导航栏的titleView。

UIView *searchView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 35)];
lsearchBar = [[TestSearchBar alloc]initWithFrame:searchView.frame];
[searchView setBackgroundColor:[UIColor clearColor]];
[searchView addSubview:lsearchBar];  

但是搜索栏的压缩图形结果看起来很糟糕:

如果尝试直接嵌入它而不直接使用UIView,就像这样:

lessonsSearchBar = [[TestSearchBar alloc] initWithFrame:CGRectMake(0, 0, 200, 35)];
self.navigationItem.titleView = lessonsSearchBar;

它看起来更好,但是当我将segue推送到下一个视图控制器,或者用动画回弹时,它会尝试为它设置动画并且看起来很糟糕,周围有这个灰色条:

我在UIView中尝试它,因为我还想为我的UISearchBar设置一个自定义大小并将其重新排列到屏幕的左侧,当我将搜索栏直接设置为navitationItem时,由于某种原因这是不允许的.titleView。我不确定如何在不崩溃我的图像(我使用setSearchFieldBackgroundImage设置)或没有动画的故障的情况下实现这一目的。你能帮忙吗?

0 个答案:

没有答案