键盘在横向可见时提升视图

时间:2011-03-03 11:14:30

标签: iphone keyboard uitextfield cgaffinetransform

我在App上进行横向旋转时遇到问题。一切都移动到我想要的地方等,但是当键盘可见时,其中一个文本字段被覆盖。我已经写了一些代码来推动视图来解决这个问题。这段代码在纵向上工作正常,但在横向中,视图会旋转回肖像。代码如下:


- (void)textFieldDidBeginEditing: (UITextField *)textField {

    CGAffineTransform translation = CGAffineTransformIdentity;
    if (textField == self.incVATField)
        translation = CGAffineTransformMakeTranslation(0, -30);

    [UIView beginAnimations:nil context:nil];
    self.view.transform = translation;
    [UIView commitAnimations];

}

任何人都可以告诉我如何解决这个问题,这样当设备处于lanscape时,视图会被推高一点,所以我仍然可以看到文本字段吗?

由于

1 个答案:

答案 0 :(得分:1)

当文本字段的编辑开始时,只需调整视图的框架,以便您可以看到文本。

- (void)textFieldDidBeginEditing: (UITextField *)textField {
self.view.frame = CGRectMake(x_origin,y_origin,width,height);
}

另一种选择:

您也可以通过使视图成为滚动视图的子视图并将内容偏移更改为所需的点来实现此目的,以便文本字段可见。