Спасибо, Бленк, я пытался понять, как это сделать, и не осознавал, что могу поставить кнопку на заднем плане, хороший трюк! Вот мой вклад (новичок в этом сайте и в Cocoa Touch, так что он, возможно, не самый надежный код когда-либо, но пока работает):
Я вызываю этот метод из события touchUpInside
на моей UIButton:
-(void)closeKeyboard:(id)sender {
UIView *theFirstResponder = [self findFirstResponder];
if (theFirstResponder) {
[theFirstResponder resignFirstResponder];
}
}
Где этот цикл находит первый ответчик:
- (UIView *)findFirstResponder {
UIView *firstResponderView = nil;
for (UIView *view in [self entryFields]) {
if ([view isFirstResponder]) {
firstResponderView = view;
break;
}
}
return firstResponderView;
}
Он зависит от каждого элемента управления UITextField
в представлении, которому назначен тег (опять же, это можно сделать в Интерфейсном Разработчике).
В любом случае, мои два цента, хотя мне лучше вернуть что-нибудь!