如何确定iPad上的键盘覆盖了多少模态VC?

时间:2012-04-03 15:45:40

标签: iphone ios ipad

我有一个模态视图控制器,我通过以下方式在iPad上展示:

vc.modalPresentationStyle  = UIModalPresentationFormSheet;
[self presentModalViewController:newDetailController animated:YES];

新VC上有可编辑的字段。当我编辑该字段时,键盘出现并覆盖了底层VC的一大块。

如何确定键盘遮挡了多少VC?在iPhone上,这很简单,因为所呈现的VC是全屏的,键盘数学很简单。

3 个答案:

答案 0 :(得分:1)

有一种UIView方法可以将坐标从视图的坐标系转换为另一种坐标系。使用它来获取UIWindow坐标系中视图的坐标,这是键盘使用的系统,它应该变得更容易。

答案 1 :(得分:1)

您可以将视图放在用于避开键盘的子类UIScrollView中。以下是有关该课程的更多信息的链接:https://github.com/michaeltyson/TPKeyboardAvoiding

因此,您可以将.h和.m文件放入项目中,如果您使用IB,则在IB中创建UIScrollView并将其类更改为TPKeyboardAvoidingScrollView。否则只需分配并初始化新的TPKeyboardAvoidingScrollView并将UIView放入其中。

希望这有帮助

答案 2 :(得分:0)

解决此问题的一种简单方法是使用https://github.com/michaeltyson/TPKeyboardAvoiding 效果很好:D