Я новичок в ios. У меня есть следующий код для изменения типа ключа возврата для подключения. Он отлично работает в ios6, но не в ios7. Код внутри if-блока никогда не выполняется на ios7.UITextInputTraits не работает в ios7
Кто-нибудь видел подобную проблему? Есть ли обходной путь для этого?
if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
[searchBar resignFirstResponder];
[(UITextField *)searchBarSubview setReturnKeyType:UIReturnKeyJoin];
[searchBar becomeFirstResponder];
}
Я гугл и нашел, что присоединиться кнопка не отображается, так как внутренняя структура UISearchBar, которые не должны изменять, не изменилась. Я не знаю, как это исправить и где узнать, что изменилось, кто-нибудь может объяснить?
Также попробовал следующее (аналогично) обходной код не достаточно повезло
for(UIView *searchBarSubview in [searchBar subviews]) {
if([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)searchBarSubview setReturnKeyType: UIReturnKeyJoin];
} else {
for(UIView *subSubView in [searchBarSubview subviews]) {
if([subSubView conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)subSubView setReturnKeyType: UIReturnKeyJoin];
}
}
}
https://github.com/EthanArbuckle/IOS-7-Headers /blob/master/PrivateFrameworks/UIAccessibility.framework/UITextInputTraits-Protocol.h проверить это – Sport