UITableViewCell单元格是键盘盖

时间:2014-04-02 02:42:12

标签: ios uitableview uikeyboard

当调用[textField becomeFirstResponder]时,键盘覆盖了单元格,我希望在调用[textField becomeFirstResponder]时单元格位于键盘上方。我怎么能这样做?

类似于iphone短信功能!

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码通过更改tableview" Y"来显示您在tableview底部的文本字段。坐标

        #pragma mark - textfield delegate

        - (void) textFieldDidBeginEditing:(UITextField *)sender {
                   activeTextField = sender;

                   if ([sender isEqual:TextField1]) {
                      [self setViewMovedForViewIndex:1];
                   }
                   else if ([sender isEqual:TextView2])
                   {
                      [self setViewMovedForViewIndex:2];
                   }

        }

      - (BOOL)textFieldShouldReturn:(UITextField *)textField 
        {
                 [textField resignFirstResponder];
                 [self setViewMovedForViewIndex:0];
                 return YES;
        }

    - (void)setViewMovedForViewIndex:(int)index {
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.5]; // if you want to slide up the view

        CGRect rect = self.table.frame; 

        switch (index) {
            case 0:
                rect.origin.y = 0;
                break;
            case 1:
                rect.origin.y = 0;
                break;
            case 2:
                rect.origin.y = -160;
                break;
            default:
                break;
        }

        self.table.frame = rect;

        [UIView commitAnimations];
    }

答案 1 :(得分:0)

好像您正在寻找KeyboardAccessory视图。你可以做到这一点。看看this tutorial。我会帮你的。并尝试研究它。

Apple已为此a sample