UIView坐标在键盘外观期间转换为旋转

时间:2010-05-06 01:41:10

标签: uiview uiscrollview

iPad应用;我正试图在键盘出现时调整视图大小。它相当于在适当的时间调用此代码:

 CGRect adjustedFrame = self.frame;
  adjustedFrame.size.height -= keyboardFrame.size.height;
 [self setFrame:adjustedFrame];

对于基于uisplitview的应用程序中包含的视图使用此技术可以在所有4个方向上工作,但我发现基于uiview的基于uiview的应用程序不起作用。

显然,uisplitview足够聪明,可以转换其子视图(它们的框架)的坐标,使得原点位于“查看器的左上角”,无论方向如何。但是,uiview无法正确报告这些坐标。虽然原点在所有方向都被报告为(0,0),但视图的有效起源总是好像ipad是直立的。

这有点奇怪的是视图正确旋转和绘制,但它始终来自左上角的文字设备。如何让视图正确地使其原点成为观察者的“左上角”,而不是设备的固定左上角?我错过了什么?拜托,对于一些如此微不足道的事情,我已经花费了大约6个小时的时间来研究这种技术和研究角度。

这是原始来源,在这种情况下不起作用:

move up UIToolbar

1 个答案:

答案 0 :(得分:0)

好的,我不知道原始问题的ACTUAL答案是什么,但我可以肯定地说,解决问题的一种方法是始终确保不直接操纵viewController的视图。始终将视图包装在主“视图”内的容器视图中,然后让容器视图根据需要调整其位置等。与splitview完全一样,可能是因为在这两种情况下,现在所讨论的视图都是主“视图”的子视图。真是一种解脱!