Как удалить случайный пробел, который UIScrollView помещает между подпредставлениями? - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь добавить два пользовательских интерфейса, которые являются 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 или более подпредставлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...