我试图在mainStoryBoard的UIScrollView
中添加两个自定义界面,即UIViews。
两个UIView都有一个图像,图像的尺寸等于视图的尺寸。
这是我用来将这些视图添加到我的scrollView中的代码
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myScrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.myScrollView.frame = view.frame
for i in 0..<2{
let uiImage = UIImage(named: "\(i)")!
let view = Bundle.main.loadNibNamed("TestView", owner: self, options: nil)?.first as! UIView
view.setImage(uiImage)
let xpos = self.myScrollView.frame.width * CGFloat(i)
view.frame = CGRect(x: xpos, y: 0, width: self.myScrollView.frame.width, height: self.myScrollView.frame.height)
myScrollView.contentSize.width = self.myScrollView.frame.width * CGFloat((i + 1))
myScrollView.layer.cornerRadius = 20
myScrollView.layer.masksToBounds = true
myScrollView.addSubview(view)
}
}
}
在TestView.swift
中,我有
func setImage(_ name:UIImage) -> Void{
testUIImage.image = name
testUIImage.contentMode = .scaleAspectFit
testUIImage.clipsToBounds = true
}
但是,当我运行该应用程序时,第一个视图可以很好地添加,但是当我向右滚动时,我可以看到第二个视图不在Scrollview中,并且第一个视图和第二个视图之间存在空白,几乎就像该空间是一个附加视图一样,即将第二个视图向右推。我在scrollViewer中启用了分页。
如您所见,第二张图像在前端被切除。
这是它们之间的空白: enter image description here
我检查了两个UIView框架的宽度,它们相等。我还检查了第二次迭代后的内容大小,它应该等于两个帧的大小* 2。但是由于某种原因,正在添加白色黑色空间。并且仅在添加2个或更多子视图后显示。