Я пытаюсь добавить два пользовательских интерфейса, которые являются UIViews к UIScrollView
в моей mainStoryBoard.
оба UIViews имеют изображение внутри них, размеры изображения равны размерам представления.
Это код, который я использую для добавления этих представлений в мой 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.
Первое изображение в ScrollView
Второе изображение в ScrollView
Как видно, второе изображение обрезается напередний край.
Это пробел между ними: введите здесь описание изображения
Я проверил ширину обоих фреймов UIView, они равны.Я также проверил размер контента после второй итерации, он равен размеру обоих кадров * 2, как и должно быть.Но по какой-то причине добавляется белое черное пространство.И это появляется только после добавления 2 или более подпредставлений.