本帖最后由 fanhoucheng 于 2010-12-23 15:33:01 编辑

解决方案 »

  1.   

    你需要事先UITextFieldDelegate下面两个protocol
    比如有个UITextField *userTextField创建后设置userTextField的delegate userTextField.delegate = self;// 开始编辑,键盘打开,subviewMoveUp()需要实现,改变subview的位置
    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    [self subviewMoveUp];
    return YES;
    }// 编辑结束,键盘关闭,subviewRestore()需要实现,恢复subview的位置
    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [userTextField resignFirstResponder];
    [self subviewRestore];
    return YES;
    }- (void)subviewMoveUp {
        userTextField.frame = CGRectMake(....);
    }- (void)subviewRestore {
        userTextField.frame = CGRectMake(....);
    }但以上是不带画面上下翻滚。如果要翻滚,你需要使用UIScrollView,把userTextField放入UIScrollView。具体需求具体解决办法,使用UIScrollView即可以让UIScrollView的frame更改,也可以改变UIScrollView的content offset达到目的。