swift - 在 iPhone X 及更高版本的 UIScrollView 中没有 UIImage 的全屏
问题描述
使用 iPhone X 及更高版本的 UIScrollView 中没有 UIImage 的全屏显示。与 iPhone 8 和 + 完美搭配。
来自 Xcode 的屏幕截图。 'UIImage 是红色。 UIScrollView 是绿色的。
UIScrollView 和 UIImage 都对 SuperView 有约束。但是对于 iPhone X,UIImage 不会与 SuperView 对齐。如果我将 UIImage 直接移动到视图,那么它看起来还可以,但是我的缩放选项停止工作。
这是缩放选项的代码。
func updateZoomFor(size: CGSize) {
let widthScale = size.width / image2.bounds.width
let heightScale = size.height / image2.bounds.height
let scale = min(widthScale,heightScale)
scrollView2.minimumZoomScale = scale
scrollView2.minimumZoomScale = 1.0
scrollView2.maximumZoomScale = 5.0
scrollView2.contentSize = .init(width: 2000, height: 2000)
}
func viewForZooming(in scrollView2: UIScrollView) -> UIView? {
return image2
}
这是隐藏状态栏和主页按钮的代码。
override var prefersStatusBarHidden: Bool {
return true
}
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
我希望 UIScrollView 和 UIImage 在任何 Iphone 上都可以在纵向和横向模式下全屏使用。
解决方案
1.- 设置你的滚动视图:
let scrollView: UIScrollView = {
let scrollView = UIScrollView()
scrollView.translatesAutoresizingMaskIntoConstraints = false;
scrollView.backgroundColor = .clear
return scrollView
}()
2.-添加到子视图:
private func setSubviews() {
self.addSubview(scrollView)
}
3.- 将所有内容添加到 ScrollView-Subview 示例:
self.addSubview(scrollView)
self.scrollView.addSubview(screenIcon)
self.scrollView.addSubview(screenTitle)
4.- 设置约束:
NSLayoutConstraint.activate([
scrollView.topAnchor.constraint(equalTo: self.topAnchor, constant: 0),
scrollView.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 0),
scrollView.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: 0),
scrollView.heightAnchor.constraint(equalTo: self.heightAnchor, multiplier: 2),
])
推荐阅读
- python - 将此 ARM64 程序集转换为 Python?
- homebrew - 什么是 /usr/local/Cellar/coreutils/8.31/bin/g[
- php - Codeigniter 中的多选下拉验证
- python - 衬衫订购计划
- typescript - 如何在 TypeScript 中使用 OverlayScrollbars?
- javascript - 更改函数内的变量?
- javascript - 原语到包装对象的转换(幕后)
- git - GitHub Web UI 中的“base”和“head”repo 是什么?
- python - Pandas 无法正确将 csv 转换为 hdf5?
- java - Android - 保存图像监听器