문제

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.

도움이 되었습니까?

해결책

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

enter image description here

다른 팁

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?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top