2010-02-06 86 views
0

我在表格视图中有8个文本字段。我需要在纵向和横向模式下将数据输入到该文本字段中。一些文本字段是键盘的背面。我无法将数据输入到该文本字段中。如何在纵向和横向选择表格视图中的文本字段时从键盘向上移动?

我在肖像模式下完成了willShowKeyBoard通知的帮助,并且工作正常。但是,我已经应用到横向模式但是它不能正常工作。如何向上移动表格视图以在文本字段中输入数据?

  • (无效)keyboardWillShow:(NSNotification *)通知符 {

    if ([NameField isFirstResponder] && myView.frame.origin.y >= 0) 
    {  
    
    } 
    else if([credentialField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
    
    } 
    else if([specialityField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
    
    } 
    else if([streetField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
        [self setViewMovedUp:YES]; 
    } 
    else if([cityField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
        [self setViewMovedUp:YES]; 
    } 
    else if([stateField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
        [self setViewMovedUp:YES]; 
    } 
    else if([zipcodeField isFirstResponder] && myView.frame.origin.y >=0) 
    { 
        [self setViewMovedUp:YES]; 
    } 
    

}

- (无效)setViewMovedUp:(BOOL)movedUp { [UIView的beginAnimations :nil context:NULL]; [UIView setAnimationDuration:0.5]; //如果你想向上滑动视图 CGRect rect = myView.frame; if(movedUp) {
rect.origin.y = rect.origin.y - kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height + kOFFSET_FOR_KEYBOARD1; } else { rect.origin.y = rect.origin.y + kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height - kOFFSET_FOR_KEYBOARD1; }

myView.frame=rect; 
[UIView commitAnimations]; 

}

回答

0

你应该用一个UIScrollView要做到这一点,那么你可以将你的内容向上/向下。

相关问题