UIScrollView 无法在纵向或横向模式下显示图像
Posted
技术标签:
【中文标题】UIScrollView 无法在纵向或横向模式下显示图像【英文标题】:UIScrollView cannot display image either in Portrait or Landscape mode 【发布时间】:2015-08-17 11:46:10 【问题描述】:我在情节提要中创建了一个横向方向的 VC
我在里面加了一个UIIScrollView
,比如说在VC里面做:(w)1000, 500(h)。
我想做的事:
1) 在ScrollView
内滚动图像(高分辨率,如 1334 x 750)
2) 以横向模式查看ScrollView
中的图像
【问题讨论】:
如果你使用 Xcode 资源并且你有一个名为 my-image 的图像集合,你必须使用 UIImage(name: "my-image")。 不工作。假设我在 Xcasset 调用中创建了图像集: Photo1 和我把 MyPhoto.png ,MyPhoto1.png , MyPhoto2.png ,..in 它。我按照你的方法。我使用 UIImage(named: "Photo1"),它不起作用。 您必须为每个图像创建一个图像集,并且空间是 image1.png、image1@2x.png 和 image1@3x.png 三种尺寸,然后您可以使用名称初始化 UIImage “图像1”。 更改viewDidAppear中的代码后,显示图像现在可以了。现在的问题是 Scrollview 在我更新的代码中变得如此之小。它粘在顶角。 【参考方案1】:试试这个:
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate
var image: UIImage!
get
return myImageView.image!
set
myImageView.image = newValue
myImageView.sizeToFit()
myScrollView.contentSize = myImageView.frame.size
var myImageView = UIImageView()
@IBOutlet weak var myScrollView: UIScrollView!
didSet
myScrollView.delegate = self
myScrollView.minimumZoomScale = 10.0
myScrollView.maximumZoomScale = 1.0
myScrollView.addSubview(myImageView)
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
image = UIImage(named: "one")
func viewForZooming(in scrollView: UIScrollView) -> UIView?
return myImageView
【讨论】:
以上是关于UIScrollView 无法在纵向或横向模式下显示图像的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Autolayout 正确构建 UIScrollView
从横向切换到纵向后,将 UIScrollView 保持在正确的位置