• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - UIScrollView 编程滚动不工作 iOS 8

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:54:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在我的应用程序中,我有一个 UIScrollView,其中包含一些文本字段,如果编辑了这些文本字段,它们可能恰好位于键盘下方。我用这条线处理了这个:

[_scrollView setFrame:CGRectMake(_scrollView.frame.origin.x, _scrollView.frame.origin.y, _scrollView.frame.size.width, _scrollView.frame.size.height - (_keyboardHeight - 44))];
[_scrollView scrollRectToVisible:_destinationFrame animated:YES];

如果我打破这些陈述,一切似乎都井井有条,内容大小正确, ScrollView 的帧正确,接收到的目标帧正确,进入 scrollRectToVisible 只是跳过该语句到下一个一、实现scrollView委托(delegate)方法

- (void)scrollViewWillBeginDraggingUIScrollView *)scrollView;

插入断点没有效果,使用

[_scrollView scrollsToTop];

反而也没有效果。所以程序化滚动似乎完全没有效果。这在升级到 iOs 8 SDK 之前工作得非常好。有谁知道是什么原因造成的?



Best Answer-推荐答案


ScrollRectToVisible 可能没有滚动,因为 View 可能认为“rect”在键盘向上动画时已经可见。

我总是通过监听事件 UIKeyboardDidShowNotification 来处理这个问题,然后将 ScrollView 的 contentOffset 调整为带有一些填充的矩形的 Y 原点。此时您可能还需要增加内容大小以避免用户在键盘打开时尝试滚动屏幕​​时出现捕捉行为。

反转 UIKeyboardWillHideNotificationUIKeyboardDidHideNotification

中的所有内容

关于ios - UIScrollView 编程滚动不工作 iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26039815/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap