Question

Working fine with iOS6 even if I change the orientation Working fine with iOS6

Working fine with iOS7 If I don't change the orientation Working fine with iOS7

Error in display when orientation gets change iOS7.* Error in display when orientation gets change iOS7

I am creating UITextField programmatically, its working fine with < iOS7,

with iOS7 and higher , when I change orientation UITextField cursor position gets change. What's the issue? Is it bug of iOS?

The rounded corners UITextField you're seeing is UITextField only, I just make it rounded by setting corner of UITextField.

I've set left and right view of UITextField. Also in orientation changes method I'm not even touching that UITextField.

Update:

I find that there's contentOffset changes in UIFieldEditor subview of UITextField

- (void)resizeUITextFieldInsideUITextFieldWithOffset:(CGFloat)y {
    for(id subview in [txtSearch subviews]) {
        if([subview isKindOfClass:[UIScrollView class]]) {
            UIScrollView *textField = (UIScrollView *)subview;
            [textField setContentOffset:CGPointMake(0, y)];
        }
    }
}

I fix it using the above code in orientation, but when I type again the same problem occurring again.

Était-ce utile?

La solution

Changing the uiviwcontroller's enter image description here fixed the issue for me, random bug.

enter image description here

Autres conseils

Try to resign it when you are going to rotate and again put as first responder as soon as you finish rotating it. I don't actually why it happens but this should make the try. Do you have autolayout set?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top