Ana*_*and 7 iphone uitableview uisearchbar uisearchdisplaycontroller xcode5
我使用下面的代码为搜索栏和搜索字段设置了背景图像.我正在使用Xcode5 DP2和ios 7.
[[UISearchBar appearance] setSearchFieldBackgroundImage:[UIImage imageNamed:@"fieldBg"] forState:UIControlStateNormal];
[[UISearchBar appearance] setBackgroundImage:[UIImage imageNamed:@"searchBarBg"]];
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常.但我也想自定义取消按钮图像.为此,我在viewWillAppear和searchBarTextDidBeginEditing中使用了以下代码.它在加载时第一次工作.
for (UIView *searchbuttons in _searchBar.subviews)
{
if ([searchbuttons isKindOfClass:[UIButton class]])
{
UIButton *cancelButton = (UIButton*)searchbuttons;
cancelButton.enabled = YES;
[cancelButton setBackgroundImage:[UIImage imageNamed:@"cancelImage"] forState:UIControlStateNormal];
break;
}
}
Run Code Online (Sandbox Code Playgroud)
如果取消按钮单击一次,则自定义图像将不会出现在那里.我记录了_searchBar.subviews并得到了结果
po [_searchBar subviews]
<__NSArrayM 0x210b1120>(
<UISearchBarBackground: 0x1fd6ff80; frame = (0 0; 768 44); userInteractionEnabled = NO; layer = <CALayer: 0x1fdafaf0>>,
<UISearchBarTextField: 0x1fd6f2f0; frame = (5 -3; 758 50); text = ''; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x1fdc10b0>; layer = <CALayer: 0x1fd6f480>>
)
Run Code Online (Sandbox Code Playgroud)
据我所知,取消按钮不在我正在检查的子视图下.我在所有可能的委托方法中尝试了上述代码,但无法解决问题.
小智 2
[self setShowsCancelButton:NO animated:NO];你可以在函数中使用,并在你喜欢的地方layoutSubviews添加自定义。UIButton您只需为取消按钮的功能编写代码即可。
| 归档时间: |
|
| 查看次数: |
2519 次 |
| 最近记录: |