UIScrollView 在 addSubview 或更改框架后出现不必要的滚动

2024-07-04

我有一个UIScrollView充满子视图,创建它并最初填充它时一切都很好。

但是,当我添加位于可见屏幕部分之外的新子视图时,或者当我只是调整也在可见屏幕部分之外的现有子视图的大小时,会出现随后的 0.3 秒长的滚动动画(我可以看到它)发生在我的代表身上)似乎与新添加/调整大小的元素相匹配。

尝试:

  • pagingEnabled 始终为“否”。
  • 在子视图操作期间将scrollEnabled 设置为NO 没有帮助。
  • 在子视图操作后执行 setContentOffset:animated:NO 不会阻止动画。
  • 一个巨大的子视图与我所有的子视图都在其中没有帮助。

我当前的解决方法是最初将框架设置为适合可见屏幕部分,或者在另一个超级视图内进行调整大小工作,但感觉很脏,并且无法处理所有情况......

以编程方式操作子视图时,有没有办法防止这种自动滚动动画?

Xcode 4.3、iOS SDK 5.1。


我也发现了这个问题并找到了解决方案http://www.iphonedevsdk.com/forum/iphone-sdk-development/94288-disabling-uiscrollview-autoscroll.html http://www.iphonedevsdk.com/forum/iphone-sdk-development/94288-disabling-uiscrollview-autoscroll.html

它涉及子类化UIScrollView并在以下方法中不输入任何代码。

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated  {

}

就像那个人在链接上说的那样,我发现它有效,到目前为止没有任何问题。希望对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIScrollView 在 addSubview 或更改框架后出现不必要的滚动 的相关文章

  • 如何获取上次启动时的 NSTimeInterval 值

    我需要从上次设备启动中获取 NSTimeInterval 值 我发现 CACurrentMediaTime 适合此任务 但在我的应用程序中 我没有使用 Core Animation 并且我认为这不是包含此框架以获取此功能的最佳方法 还有另一
  • 在 Parse iOS 中链接用户 ID 和安装 ID

    在 Parse 仪表板的数据浏览器窗格中 我看到安装和用户类 但是 对于特定设备上的特定用户 objectId 不匹配 现在 用户订阅的频道仅在安装类中可见 有没有什么方法可以将用户 ID 来自用户类别 链接到安装 ID 以便可以知道用户订
  • 更改 iPhone UISlider 栏图像

    我正在使用一个UISlider在我的应用程序中 但我想为其使用自定义的 外观和感觉 我已将拇指更改为我自己的图像 但有没有办法也更改栏 我有一个想要使用的条形图像 但不知道如何执行此操作 我已经找到了如何更改最大和最小图像 但不是条形图本身
  • Swift:根据日期对获取的核心数据子实体进行排序

    介绍 我正在制作一个日历应用程序 在其中使用核心数据存储事件 其组成为 DateKey作为父级 具有一对多关系 CalendarEventModel 这个概念是DateKey包含 yyyy dd MM 日期字符串 当天发生的所有事件都作为子
  • 如何对字符串进行 URL 编码

    我有一个 URL 字符串 NSString 带有空格和 人物 如何对整个字符串 包括 符号和空格 很遗憾 stringByAddingPercentEscapesUsingEncoding并不总是 100 有效 它对非 URL 字符进行编码
  • 实例化新视图控制器时从内存中删除视图控制器

    在我的应用程序中 我实例化新的视图控制器而不是使用 Segues 因为它在动画中看起来更好 因此我的视图继续在后台运行 这会导致大量内存泄漏 我返回主屏幕的代码是 let mainStoryboard UIStoryboard name M
  • RestoreCompletedTransactions() 没有调用 paymentQueue UpdatedTransactions?

    我在 Swift 4 iOS 11 中恢复 IAP 时遇到问题 我的AppDelegate实施SKPaymentTransactionObserver In AppDelegate s didFinishLaunchingWithOptio
  • 将按钮与 ScrollView 中的底部对齐

    我正在尝试将按钮与 ScrollView 底部对齐并使 ScrollView 填充页面 第一张截图是它的样子 第二张截图是我想要的 在屏幕截图中 未使用 ScrollView 因为没有足够的项目 但 ScrollView 内的项目数量不固定
  • 如何在 MKMapView iOS 中显示多个注释?

    我是 iOS 开发新手 我想在 iOS 中的 MKMapViewController 中显示多个注释 为此我在 viewDidLoad 方法中编写了代码 void viewDidLoad super viewDidLoad self map
  • iOS 8 选项卡栏项目背景颜色

    上周我一直在努力寻找解决方案 但在尝试了我能找到或想到的所有可能的解决方案后 我没有运气 我发现并尝试过的每个解决方案要么不起作用 要么已经过时 我有 5 个UITabBarItem s in a UITabBar放置在UITabBarCo
  • 导航栏标题视图对齐

    我希望我的导航栏在中间显示两件事 其中之一是列表名称 另一个是用户名称 用户名将放置在列表名称下 到目前为止我所做的是 我以编程方式创建了两个标签和一个超级视图 并设置titleView of navigationItem override
  • 如何刷新 WatchApp 复杂功能

    所以我正在尝试更新headerTextProvider 每一秒都有一个Timer scheduledTimer withTimeInterval 1 repeats true timer in 我想这不是正确的做法吗 MY STUFF HE
  • 像 peek and pop 一样手动振动 iPhone 6S?

    如何手动触发类似单击的振动 就像使用 peek pop 或应用程序快捷方式时发生的振动一样 这个方法很容易实现 而且效果非常好 我自己尝试过 import AudioToolbox AudioServicesPlaySystemSound
  • 了解 ibeacon 距离

    尝试掌握 ibeacon 信标 低功耗蓝牙 BLE 如何保持距离的基本概念 有没有关于 ibeacon 到底能测量多远的真实文档 假设我在 300 英尺外 ibeacon 是否有可能检测到这一点 专门针对 v4 v5 和 iOS 但通常是任
  • “无法连接到 iTunes Store”

    昨晚 应用内购买没有在 iOS7 模拟器设备上显示 但今天我什至没有更改代码 我也开始在 iOS 8 设备上遇到相同的错误 这是我的课 class InAppC UITableViewController SKProductsRequest
  • 如何重试基于块的 URL 请求

    我正在使用 iOS7 的新 URL 请求方法获取数据 如下所示 NSMutableURLRequest request NSMutableURLRequest requestWithURL NSURL URLWithString self
  • Swift 3 NSCache 通用参数“KeyType”无法推断

    此代码适用于 Swift 2 x An internal in memory cache private var dataCache NSCache init In Swift 3它会导致编译错误 Generic parameter Key
  • 是否可以使用 Firebase 云消息传递 (FCM) 直接从设备将 PushNotifications 发送到特殊 UDID?

    我正在考虑将所有注册 ID 推送令牌 保留在数据库中并从 iPhone 向用户发送通知 我尝试了类似的操作 但没有收到任何通知 func sendPNMessage FIRMessaging messaging sendMessage bo
  • 在 Xamarin.Forms 中添加方向更改布局

    我需要实现的是 在将屏幕从纵向更改为横向时向现有页面添加布局 我已经成功地使用检测方向变化void OnSizeAllocation 双倍宽度 双倍高度 但我无法为此事件添加布局 我的示例 C 代码是 public class MyLayo
  • 在类型中找不到枚举大小写开关

    有人可以帮我解决这个问题吗 我有以下内容public enum public enum OfferViewRow case Candidates case Expiration case Description case Timing ca

随机推荐

  • Eclipse默认运行eclipse插件headless

    我有一个 Eclipse 插件项目 它通过打开 Eclipse UI 来运行 我添加了一个扩展 org eclipse core runtime applications 为了某些测试目的而无头运行该插件 现在 如果我从上下文菜单运行选项运
  • 使用 Node JS child_process.spawn 运行脚本时打开文件过多

    设想 使用主脚本多次生成可变数量的子进程 以便对服务器执行负载测试 主脚本最初生成它可以生成的所有子进程 根据其配置设置 然后当子进程退出时 如果配置请求更多运行 则将启动新的子进程 我看到的是在尝试启动第 83 个子进程时立即失败 83
  • 如何将数据沿反应链传递

    每当我需要将数据传递到反应链时 我最终都会做这样的事情 public Mono
  • Python 中的 HTML 解析器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 使用Python文档我发现了HTML解析器 http docs python org lib modu
  • 如果按下警报,则转到“确定”按钮后的 URL

    我需要确保当用户在 JavaScript 警报窗口中单击 确定 时 浏览器会移动到不同的 URL 这可能吗 你是什 么意思 确保 alert message window location some url 在警报窗口中单击 确定 后重定向
  • 如何将自定义表单添加到 django 管理页面内联

    我可以将在 forms py 中定义的表单放入 Django 管理员页面吗 我也可以将此表单放入 Django 管理员页面的模型内联中吗 需要明确的是 这就是我所说的内联 class AnswerInline admin StackedIn
  • 是否可以使用 Firebase 云消息传递 (FCM) 直接从设备将 PushNotifications 发送到特殊 UDID?

    我正在考虑将所有注册 ID 推送令牌 保留在数据库中并从 iPhone 向用户发送通知 我尝试了类似的操作 但没有收到任何通知 func sendPNMessage FIRMessaging messaging sendMessage bo
  • 两个选择框重叠

    我有两个选择框HTML 一个在另一个之下 第一个选择框正常 第二个选择框默认打开 意味着无需单击即可显示选项 现在当我点击第一个select box它的内容移动到另一个的后面select box HTML
  • 删除CKEditor图像插件中的htmlPreview

    我在 CKEditor 的图像插件中隐藏预览元素时遇到问题 我需要一个非常简单的图像对话框 其中只有图像源的输入字段和带有图像上传按钮的表单 因此 我使用这些自定义配置设置删除了不必要的元素 CKEDITOR on dialogDefini
  • 如何实现迭代器产生可变引用[重复]

    这个问题在这里已经有答案了 我正在尝试实现一个简单的查找迭代器 pub struct LookupIterMut lt a D gt data a mut D indices a usize i usize impl lt a D gt I
  • jquery 调整 div 上的侦听器大小

    这就是情况 我有 2 个 div 彼此相邻 一个 div 的高度非常动态 这基本上意味着它可以增长和缩小以适应其内容 例如 这个 div 具有可以折叠打开或关闭的内容 或者可以扩展以适合 ajax 加载内容的容器 现在 这个 div 旁边是
  • SQL 关键字使用大写有充分的理由吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 默认值似乎是大写 但是真的有理由使用大写关键字吗 I started using upper case because I was just t
  • Lightgbm OSError,库未加载

    如果我简单地这样做 import lightgbm as lgb 我越来越 python script py Traceback most recent call last File script py line 4 in
  • 如何根据内容使 iframe 100% 高度

    我看到很多人问如何使 iframe 100 高度 使用一些 CSS 可以轻松归档 它将使 iframe 相对于设备屏幕 100 显示 但是如何让iframe根据其内容100 高度呢 这是我当前根据设备屏幕制作 100 iframe 的代码
  • 通过解析异常获取方法名及其包含的参数

    当我收到异常时 例如IOException or RunTimeException 我只能知道班级里的行号 首先是我的问题 是否可以通过异常检索方法名称 其次 是否可以通过行号检索该方法以及该方法的参数 附注我需要知道确切的方法名称及其参数
  • Perforce - 从命令行切换到工作区

    我问如何从client1切换到client2 其中client1属于stream1 client2属于stream2 我希望它能够执行与 p4v 中相同的操作 然后右键单击工作区并选择 切换到工作区 请注意 如果您当前的工作区是 clien
  • 检查纬度和经度是否在谷歌地图圆内

    以下是我正在寻找的期望结果 我想知道的是 我使用中心点纬度和周围半径创建了圆 现在我想知道 如何检查 计算 纬度和经度是否在该区域之内或之外 如果您能给我 JavaScript 代码示例 我将不胜感激 我正在使用 Google 地图 API
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着
  • chmod:如何仅向已具有执行权限的文件递归添加执行权限[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我注意到 chmod R a x为所有文件添加执行权限 而不仅仅是当前可执行的文件 有没有办法只为那些已经为用户权限设置了执行集的文件添加执行权限 U
  • UIScrollView 在 addSubview 或更改框架后出现不必要的滚动

    我有一个UIScrollView充满子视图 创建它并最初填充它时一切都很好 但是 当我添加位于可见屏幕部分之外的新子视图时 或者当我只是调整也在可见屏幕部分之外的现有子视图的大小时 会出现随后的 0 3 秒长的滚动动画 我可以看到它 发生在