我有一个模态视图控制器,我通过以下方式在iPad上展示:
vc.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:newDetailController animated:YES];
新VC上有可编辑的字段。当我编辑该字段时,键盘出现并覆盖了底层VC的一大块。
如何确定键盘遮挡了多少VC?在iPhone上,这很简单,因为所呈现的VC是全屏的,键盘数学很简单。
答案 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