2013-07-18 87 views
1

您好,我面臨UITextView的問題。在iOS中旋轉時調整UITextView的大小

在我的應用程序中,我需要支持縱向和橫向。

,所以我說UITextView到我的應用程序和調整的UITextView幀時下面的代碼鍵盤出現,因爲當鍵盤出現時,UITextView是鍵盤後面,我看不到我在寫UITextView

- (void)keyboardWillShow:(NSNotification*)notification 
{ 
    [self moveTextViewForKeyboard:notification up:YES]; 
} 

- (void)keyboardWillHide:(NSNotification*)notification 
{ 
    [self moveTextViewForKeyboard:notification up:NO]; 
} 

- (void)moveTextViewForKeyboard:(NSNotification*)notification up:(BOOL)up { 
    NSDictionary *userInfo = [notification userInfo]; 
    NSTimeInterval animationDuration; 
    UIViewAnimationCurve animationCurve; 
    CGRect keyboardRect; 

    [[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] getValue:&animationCurve]; 
    animationDuration = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; 
    keyboardRect = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; 
    keyboardRect = [self.view convertRect:keyboardRect fromView:nil]; 

    [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; 
    [UIView setAnimationDuration:animationDuration]; 
    [UIView setAnimationCurve:animationCurve]; 

    if (up == YES) 
    { 
     CGFloat keyboardTop = keyboardRect.origin.y; 
     CGRect newTextViewFrame = self.txtView.frame; 
     newTextViewFrame.size.height = keyboardTop - self.txtView.frame.origin.y - 10; 
     self.txtView.frame = newTextViewFrame; 
    } 

    else 
    { 
     self.txtView.frame = originalCGRect; 
    } 

    [UIView commitAnimations]; 
} 

當鍵盤出現並且不再覆蓋我的UITextView時,這很好。 但是,當我旋轉到風景,UITextView框架是不正確了,也當我隱藏鍵盤時,它仍然保持像小尺寸,而不是適合視圖。

enter image description here

enter image description here

我怎樣才能解決這個問題?

請幫幫我。

+0

如果您正在使用最新版本的iOS,你可以使用自動佈局的最佳選擇。 – kamleshwar

+0

希望這將解決您的問題http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 – kamleshwar

+0

我不能使用Autolayout兄弟,因爲我的應用程序也支持iOS5。 :( –

回答

1

can you trying to see Autoresizing mask try this one

試試這個,我希望對您有所幫助....

+0

沒有兄弟不工作 –

+0

你可以玩這個檢查每個constaraint爲你工作... – Jitendra