Мой ScrollView не прокручивается по вертикали

Я пишу приложение в Xcode 9 с Swift 4, и я добавил UIScrollview в представление, предназначенное для отображения jPeg высотой 3030 пикселей. Я добавил прокрутку в свое представление и назначил делегата в Outlets в IB. Я прикрепил IBOutlet с именем scrollView к UIScrollview и добавил UIImageView с jPeg к UIScrollview. Я установил размер UIScrollView на 375W и 620H, а затем установил UIImageView на 375W и 3030H. это должно завершить работу в конструкторе интерфейсов.

В контроллере я добавил UIScrollViewDelegate в класс и добавил код ниже в ViewDidLoad.

    //scrollView.delegate = self
    scrollView.contentSize = CGSize(width: 375, height: 3040)

Я закомментировал строку делегата, как сделал это в IB. Когда я запускаю приложение, на экране появляется изображение, но когда я пытаюсь прокрутить, оно едва прокручивает более одного экрана. Что я пропустил?


person user616076    schedule 06.02.2018    source источник
comment
Вы добавили прокрутку с помощью Auto-layout?   -  person iOS Team    schedule 06.02.2018
comment
не могли бы вы разместить проект на GitHub и предоставить URL   -  person Nischal Hada    schedule 06.02.2018
comment
Да, я добавил его в IB с помощью Auto-layout   -  person user616076    schedule 06.02.2018
comment
Извините, Нишаль, я не могу добавить проект, так как он очень большой и на него распространяются документы без отказа от ответственности.   -  person user616076    schedule 06.02.2018
comment
только часть просмотра прокрутки с демонстрационными проектами, если вы добавите ее, я могу вам помочь   -  person Nischal Hada    schedule 06.02.2018


Ответы (3)


Вам нужно добавить UIView в свой вид прокрутки, а затем добавить этот вид сверху/снизу/ведущий/конечный 0 в вид прокрутки, затем добавить представление изображения внутри представления и добавить нижнее ограничение представления изображения к этому представлению, поэтому ваш просмотр прокрутки будет работать правильно.

Пожалуйста, обратитесь к изображению ниже для получения более подробной информации.

введите здесь описание изображения

person iOS Team    schedule 06.02.2018
comment
Привет, @User. Мой ответ был полезен? - person iOS Team; 07.02.2018

Вы должны поместить свой вид прокрутки в UIView и другой UIView внутри вашего вида прокрутки.

  1. Внешний вид Ограничения: Ведущие, конечные, верхние и нижние - 0
  2. Ограничения просмотра прокрутки: начальное, конечное, верхнее и нижнее — 0
  3. Ограничения внутреннего вида: ведущий, задний и верхний для Superview, ширина равна внешнему виду, нижнее пространство до -250 и высота равна 900 (высота вашего контента)
  4. Установите размер содержимого сейчас.

введите здесь описание изображения

person Catherine    schedule 06.02.2018

Вы можете реализовать, как показано ниже на снимках экрана

    //Height Constant of image
    @IBOutlet weak var ConstHeight: NSLayoutConstraint!

    override func viewDidLoad() {
        super.viewDidLoad()


        if #available(iOS 11.0, *) {
            self.scrollView.contentInsetAdjustmentBehavior = .never
        }else{
            self.automaticallyAdjustsScrollViewInsets = false

        }

        //You can change height on here too
         self.ConstHeight.constant = 800

    }

введите здесь описание изображения введите здесь описание изображения введите здесь описание изображения

person Nischal Hada    schedule 06.02.2018