2017-08-09 84 views
0

使用iPad的拆分視圖控制器:文本框滾動立即用代碼,但恢復到原來的位置

(IBAction) textfieldEditingDidBeginAction:(id)sender{ 
     CGPoint scrollPoint = CGPointMake(0.0, 40); 
     [_scroller setContentOffset:scrollPoint animated:YES]; 
    } 

文本字段滾動40,但出現的鍵盤之後它返回到原來的位置。 iPhone縱向視圖中的相同代碼不會發生這種情況。 ??此外,這似乎只發生在第一個文本字段,下一個工作並返回到第一個然後工作。

回答

0

問題是iPad在橫向視圖中自動調整爲上面的滾動完成後的文本字段。爲了在iPad橫向上滾動不同的數量,我使用以下工作:

Boolean keyboardIsShown; 
    UITextField *currentTextField; 

    - (void)keyboardWasShown:(NSNotification*)aNotification){ 
    if(keyboardIsShown) 
     return; 
    [self scrollipadTextField]; 
    keyboardIsShown = yes; 
    } 

    -(IBAction) textfieldAEditingDidBegin:(id)sender{ 
     currentTextField=sender; 
     if(keyboardIsShown) 
      [self scrollipadTextField]; 

    } 
    -(void)scrollipadTextField{ 
     int amount; 
     if([[UIDevice currentDevice] userInterfaceIdiom]== 
      userInterfaceIdiomPad &&([[UIApplication sharedApplication] 
      statusBarOrientation]==UIInterfaceOrientationLandscapeRight 
      ||[[UIApplication sharedApplication] statusBarOrientation]== 
      UIInterfaceOrientationLandscapeLeft)){ 
       if(currentTextField==_TextFieldA) 
        amount=70; 
       if(currentTextField==_TextFieldB) 
        amount=90;//etc. 
       CGPoint scrollPoint = CGPointMake(0.0, amount); 
       [_scroller setContentOffset:scrollPoint animated:YES]; 
      } 
     }