加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 设置UIWebView内容不显示键盘时移动

发布时间:2020-12-16 06:03:17 所属栏目:百科 来源:网络整理
导读:我做了大量的研究,但找不到我的问题的答案. 假设我有一个webView,其中有一些文本字段,其中一些放在屏幕的底部,这样当键盘出现时,它应该隐藏该字段.键盘出现后,webView的内容向上滑动,以使该字段可见.问题是我不希望内容向上滑动. 问题是:如何禁用webview的
我做了大量的研究,但找不到我的问题的答案.

假设我有一个webView,其中有一些文本字段,其中一些放在屏幕的底部,这样当键盘出现时,它应该隐藏该字段.键盘出现后,webView的内容向上滑动,以使该字段可见.问题是我不希望内容向上滑动.

问题是:如何禁用webview的功能,或以某种方式使内容不向上滚动?

谢谢,任何帮助将不胜感激.

解决方法

如果要禁用所有滚动,包括在表单域之间导航时的自动滚动,请设置webView.scrollView.scrollEnabled = NO并不完全覆盖所有内容.这阻止了正常的点击和拖动滚动,但是当您在Web表单上浏览时,不会自动带入视野滚动.

另外,观看UIKeyboardWillShowNotification将允许您在键盘出现时阻止滚动,但如果键盘已经编辑不同的表单字段,则不会执行任何操作.

以下三个简单步骤可以防止所有滚动:

1)创建UIWebView后,禁用正常滚动:

myWebView.scrollView.scrollEnabled = NO;

2)然后将您的视图控制器注册为scrollView的委托:

myWebView.scrollView.delegate = self;

(并确保将< UIScrollViewDelegate>添加到您的类的@interface定义以防止编译器警告)

3)捕获和撤消所有滚动事件:

// UIScrollViewDelegate method
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    scrollView.bounds = myWebView.bounds;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读