首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MonoTouch: ResignFirstResponder()问题

MonoTouch: ResignFirstResponder()问题
EN

Stack Overflow用户
提问于 2011-12-22 02:45:52
回答 1查看 297关注 0票数 1

我有一个UIScrollView,它存储了几个UIViews。当我的键盘弹出时,我使用UIKeyboardDidShowNotification来调整这个UIScrollView的大小,这样我的可视内容区域仅仅是键盘上方的内容。我这样做是因为:

代码语言:javascript
复制
contentArea.Frame = new System.Drawing.RectangleF(0, contentArea.Frame.Top, 1024, 768 - contentArea.Frame.Top - r.Height);      

现在,当键盘正常消失,UIKeyboardWillHideNotification启动时,我可以轻松地用以下方法重新设置它,它工作得很好:

代码语言:javascript
复制
contentArea.Frame = new System.Drawing.RectangleF(0, contentArea.Frame.Top, 1024, 627); 

我的问题是当我必须切换视图时,我需要隐藏这个键盘。为此,我在我的UITextField上调用了UITextField

  • 如果我从来没有在UITextField中输入任何文本,这是很好的。
  • 如果我不滚动我的观点在所有这些工作很好。
  • 但是,如果输入了文本并且有滚动,我的UIScrollView返回到它原来的大小,但是它现在有一个偏移量,它被滚动* -1。所以如果偏移量是50,现在是-50。这意味着我的视图顶部是UIScrollView下方的50像素。

如果我手动更新UIScrollView的偏移量,它不会做任何事情。要真正解决这个问题,我必须单击一个新的UITextField,它将UIScrollView中的所有视图修复到它应该是什么位置。

任何关于如何解决这个问题的帮助都非常感谢!我正在更新从5.0到5.1,希望这是一个错误,希望是修复,但我的希望很低。

EN

回答 1

Stack Overflow用户

发布于 2012-01-24 08:41:30

这不是解决问题的方法,而是归档功能的另一种方式:与其调整大小,不如直接调整位置(因为您使用的是UIScrollView)。一个例子可以找到这里。在这个示例中,您将覆盖KeyboardGetActiveView并返回应该是可见的视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8598906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档