0

在我的应用程序上进行横向旋转时出现问题。一切都移动到我想要的位置等,但是当键盘可见时,会覆盖其中一个文本字段。我已经编写了一些代码来推动视图来解决这个问题。这段代码在纵向上可以正常工作,但在横向上,视图会旋转回纵向。代码如下:


- (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 中时,视图只是被向上推了一点,所以我仍然可以看到文本字段?

谢谢

4

1 回答 1

1

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

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

另外一个选项:

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

于 2011-03-03T11:24:06.083 回答