- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里要解决的问题是如何在保持居中的同时放大 UIScrollView。如果你不采取某种预防措施,默认是当我们缩小时,缩放的 View 会向上滑动到 ScrollView 的左上角,如下所示:
那么如何防止这种情况,并在我们缩放时将缩放 View 保持在中心?正如您可能知道的那样,有一些传统的方法可以通过弄乱 ScrollView 的布局来处理这个问题,正如 Josh 和 Eliza 在精彩的经典 WWDC video 104 from 2010 中所描述的那样。 .这可以通过使用委托(delegate)或子类化 UIScrollView 来完成,并给出所需的结果:
现在是 WWDC 2017 视频 201 (https://developer.apple.com/videos/play/wwdc2017/201/?time=1496),并且 Eliza 声称新的 (iOS 11) contentLayoutGuide
以一种新的方式解决了缩放问题,同时保持居中:她说将内容 View 居中在内容布局指南的中心。
但她没有表现出来。当我自己尝试时,我发现它并没有解决问题。我放大得很好,但是当缩小时,缩放比例小于 1,内容 View 会像往常一样向上移动到左上角。
有没有人弄清楚视频中的这种说法实际上意味着什么? iOS 11 如何比过去更容易居中缩放?
编辑 实际上,我收到了来自 Apple 的一个示例项目,以响应我的错误报告,他们声称说明了如何解决这个问题,但事实并非如此!所以我得出结论,即使是苹果也不知道他们在说什么。
最佳答案
View 转到左上角,因为未定义 ScrollView 的 contentSize。在 iOS 11 中使用新的 Auto Layout guides 时,仍然需要定义 contentSize。
添加以下约束:
scrollView.contentLayoutGuide.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
scrollView.contentLayoutGuide.heightAnchor.constraint(equalTo: scrollView.frameLayoutGuide.heightAnchor)
// give the centerView explicit height and width constraints
centerView.widthAnchor.constraint(equalToConstant: 500),
centerView.heightAnchor.constraint(equalToConstant: 500),
// pin the center of the centerView to the center of the scrollView's contentLayoutGuide
centerView.centerXAnchor.constraint(equalTo: scrollView.contentLayoutGuide.centerXAnchor),
centerView.centerYAnchor.constraint(equalTo: scrollView.contentLayoutGuide.centerYAnchor)
关于UIScrollView contentLayoutGuide 和缩放居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010019/
这里要解决的问题是如何在保持居中的同时放大 UIScrollView。如果你不采取某种预防措施,默认是当我们缩小时,缩放的 View 会向上滑动到 ScrollView 的左上角,如下所示: 那么如何
在观看了 WWDC 关于新 UI 高级功能的 session 后,我尝试在 OSX 10.10 中使用带有新 Vibrant 主题的 NSTextView。我的 TextView 没有放置在与标题栏相
我正在尝试制作一个类似于照片应用程序的照片查看器,用户可以在其中放大和缩小特定图像。 图像的初始大小适合屏幕,但在缩放时可以扩展以覆盖整个屏幕。 我在一个 collectionView 单元格中发生了
我是一名优秀的程序员,十分优秀!