Skip to content

Commit b154752

Browse files
committed
Merge pull request #169 from AnthonyMDev/AnthonyMDev-Master
Skip disabled text fields when using 'focusNextTextField'
2 parents 87eaf03 + da34bb3 commit b154752

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

TPKeyboardAvoiding/UIScrollView+TPKeyboardAvoidingAdditions.m

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,7 @@ - (void)TPKeyboardAvoiding_findTextFieldAfterTextField:(UIView*)priorTextField b
198198
// Search recursively for text field or text view below priorTextField
199199
CGFloat priorFieldOffset = CGRectGetMinY([self convertRect:priorTextField.frame fromView:priorTextField.superview]);
200200
for ( UIView *childView in view.subviews ) {
201-
if ( childView.hidden ) continue;
202-
if ( ([childView isKindOfClass:[UITextField class]] || [childView isKindOfClass:[UITextView class]]) && childView.isUserInteractionEnabled) {
201+
if ([self TPKeyboardAvoiding_viewIsNextTextField:childView]) {
203202
CGRect frame = [self convertRect:childView.frame fromView:view];
204203
if ( childView != priorTextField
205204
&& CGRectGetMinY(frame) >= priorFieldOffset
@@ -215,6 +214,24 @@ - (void)TPKeyboardAvoiding_findTextFieldAfterTextField:(UIView*)priorTextField b
215214
}
216215
}
217216

217+
- (BOOL)TPKeyboardAvoiding_viewIsNextTextField:(UIView *)view {
218+
if (view.hidden) return NO;
219+
220+
if ([view isKindOfClass:[UITextField class]]) {
221+
UITextField *textField = (UITextField *)view;
222+
if (!textField.enabled) return NO;
223+
224+
}
225+
226+
if ( ([view isKindOfClass:[UITextField class]] ||
227+
[view isKindOfClass:[UITextView class]])
228+
&& view.isUserInteractionEnabled) {
229+
return YES;
230+
}
231+
232+
return NO;
233+
}
234+
218235
- (void)TPKeyboardAvoiding_assignTextDelegateForViewsBeneathView:(UIView*)view {
219236
for ( UIView *childView in view.subviews ) {
220237
if ( ([childView isKindOfClass:[UITextField class]] || [childView isKindOfClass:[UITextView class]]) ) {

0 commit comments

Comments
 (0)