我有一个存储多个UIViews的UIScrollView。当我的键盘弹出时,我正在使用UIKeyboardDidShowNotification
调整此UIScrollView
的大小,以便我的可查看内容区域仅在键盘上方。我这样做:
contentArea.Frame = new System.Drawing.RectangleF(0, contentArea.Frame.Top, 1024, 768 - contentArea.Frame.Top - r.Height);
现在当键盘正常消失且UIKeyboardWillHideNotification
触发时,我可以轻松地将其重置为以下内容,并且效果很好:
contentArea.Frame = new System.Drawing.RectangleF(0, contentArea.Frame.Top, 1024, 627);
我的问题是当我必须切换视图时,我需要隐藏这个键盘。为此,我在ResignFirstResponder()
上致电UITextField
。
UITextField
中输入任何文字,这样可以正常使用。 UIScrollView
会返回原始大小,但现在它的滚动距离偏移* -1。因此,如果偏移量为50,则现在为-50。这意味着我的视图顶部是UIScrollView
下方50个像素。如果我手动更新UIScrollView
的偏移量,它就不会做任何事情。要实际解决这个问题,我必须在新版UITextField
内点击它,它会将我UIScrollView
中的所有观看内容修复为应有的内容。
非常感谢有关如何解决此问题的任何帮助!我正在从5.0更新到5.1,希望这是一个有希望修复的错误,但我的希望很低。