Fir*_*ist 3 uisearchbar ios inputview ios7
我需要在UISearchBar中设置我的自定义inputView.
所以我写了以下代码,这在iOS5和iOS6中完美运行.
但它在iOS7中不起作用.
for(int i =0; i<[self.searchBar.subviews count]; i++) {
if([[self.searchBar.subviews objectAtIndex:i] isKindOfClass:[UITextField class]])
{
[(UITextField*)[searchBar.subviews objectAtIndex:i] setFont:[UIFont fontWithName:@"MyCustomFont" size:15]];
UITextField* search=(UITextField*)[searchBar.subviews objectAtIndex:i];
search.delegate = self;
[(UITextField*)[self.searchBar.subviews objectAtIndex:i] setInputView:self.customKeyboard];
[self.customKeyboard setTextView:search];
}
}
[self.sBar reloadInputViews];
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
在iOS7中更改了searchBar子视图层次结构,请尝试以下操作:
IOS 7:
NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews];
Run Code Online (Sandbox Code Playgroud)
iOS6及之前:
NSArray *searchBarSubViews = self.searchBar.subviews;
Run Code Online (Sandbox Code Playgroud)
尝试以下更新功能:
NSArray *searchBarSubViews = [[self.searchBar.subviews objectAtIndex:0] subviews];
for(int i =0; i<[searchBarSubViews count]; i++) {
if([[searchBarSubViews objectAtIndex:i] isKindOfClass:[UITextField class]])
{
UITextField* search=(UITextField*)[searchBarSubViews objectAtIndex:i];
[search setFont:[UIFont fontWithName:@"MyCustomFont" size:15]];
search.delegate = self;
[search setInputView:self.customKeyboard];
[self.customKeyboard setTextView:search];
}
}
[self.sBar reloadInputViews];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2832 次 |
| 最近记录: |