ScrollView 可以利用 UIScrollViewDelegate 跟Controller對話
這邊紀錄一下設置的流程
先從StroyBoard拉出ScrollView
首先先宣告個UIImageView
private var imageView = UIImageView()
再來是宣告imageView裡的圖片
get 回傳imageView的圖片
set 設定imageView的圖片 scrowView的內容大小
private var image : UIImage?{
get{
return imageView.image
}
set{
imageView.image = newValue
imageView.sizeToFit()
scrowView?.contentSize = imageView.frame.size
}
}
將ScrollView與你的Controller做連結,didSet時設定contentSize
@IBOutlet weak var scrowView: UIScrollView!{
didSet{
scrowView.contentSize = imageView.frame.size
}
}
再來是image的URL
設置後image會是nil
再重新從網路上取得圖片
var ImageURL: NSURL? {
didSet{
image = nil
fetchImage()
}
}
private func fetchImage(){
if let url = ImageURL{
if let imageData = NSData(contentsOf: url as URL){
image = UIImage(data: imageData as Data)
}
}
}
最後viewDidLoad時
scrollView加入subView
設置url
override func viewDidLoad() {
super.viewDidLoad()
scrowView.addSubview(imageView)
ImageURL = NSURL(string: "https://imgur.dcard.tw/beP7nTV.jpg")
// Do any additional setup after loading the view.
}
還沒完成
要加入entry 在info.plist
App Transport Security Settings -> Allow Arbitrary Loads -> NO to Yes
才能顯示圖片
他可以捲動了今天超累跟這張圖一樣