我在故事板中创建了一个以景观为导向的VC
我在其中添加了一个UIIScrollView,比如说,使其:(w)1000500(h)在VC中。
我想做的是:
1)在ScrollView内滚动图像(高分辨率,如1334 x 750)
2)以横向模式在ScrollView中查看图像
要使ScrollView显示图像,我必须在viewdideappear中执行`
但问题是:
1)“ScrollView”的宽度和高度已消失
2)顶部的标签不见了。
3)“ScrollView”大小变小,大约为200 x 150,从上角开始,大约为(0,0)
我需要做什么才能使“scrollview”的大小在1000 x 500之前?
---更新--
类ViewController:UIViewController、UIScrollViewDelegate{
@IBOutlet弱变量myUIScrollView:UIScrollView!
变量imgView:UIImageView!
重写func viewDidLoad(){
超级视图加载()
//--强制横向模式:
let value=UIInterfaceOrientation.LandscapeLeft.rawValue
UIDevice.currentDevice().setValue(值,forKey:“方向”)
Self.MyISCLVIEWVIE.MULTIUMZOMPLANSIZE=10
self.myUIScrollView.minimumzoomcale=1.0
self.myUIScrollView.delegate=自己
imgView=UIImageView(图片:UIImage(名称:“MyPhoto.png”))
}
覆盖func viewdideappear(动画:Bool){
self.myUIScrollView.contentSize=imgView.bounds.size
self.myUIScrollView.addSubview(imgView)
view.addSubview(myUIScollView)
}
重写func shouldautrotate()->Bool{
返回真值
}
func viewForZoomingInScrollView(滚动视图:UIScrollView)->UIView?{
返回imgView
}

最佳答案

试试这个:
导入UIKit
类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
}

}

关于ios - UIScrollView无法以纵向或横向模式显示图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30617169/

10-13 03:26