UIScrollView горизонтальная настройка размера контента и добавление UILabels - PullRequest
0 голосов
/ 03 марта 2020

У меня есть вопрос, и я пытаюсь решить эту проблему уже несколько дней, но, к сожалению, это не работает. Я использую UIScrollView для горизонтальной подкачки. Это на самом деле работает, но:

Проблема 1: что бы я ни делал, предстоящие изображения уже показаны на текущем слайде.

Кроме того, я также хотел бы иметь различные ярлыки, которые относятся к показанным изображениям. Это означает, что каждое изображение имеет уникальную метку из массива. При пролистывании правая метка должна отображаться под изображением в UIScrollView.

Я прилагаю код, снимок экрана, как он выглядит прямо сейчас, и пример того, как я хотел бы получить его. Левая и правая кнопки примера не должны быть там. Если это легко, не стесняйтесь рассказать мне, как это сделать. :)

Большое спасибо за вашу помощь, ребята!


class HomeViewController: UIViewController, UIScrollViewDelegate {


    //Mark: Properties



    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var pageControl: UIPageControl!






    var images: [String] = ["Project1", "Project2", "Project3", "Project4"]
    var frame = CGRect(x:0, y:0, width:0, height:0)

    let titles: [String] = ["Get High", "Get Tipsy", "Get Trippy", "Get fucked"]





    override func viewDidLoad() {
        super.viewDidLoad()

      // Specify how many pages it has = to page control numbers

        pageControl.numberOfPages = images.count
        for index in 0..<images.count {
            frame.origin.x = scrollView.frame.size.width * CGFloat(index) // width x amount of pages
            frame.size = scrollView.frame.size


            // initialize image view "add on top of scroll view"

            let imgView = UIImageView(frame: frame)
            imgView.image = UIImage(named: images[index])
            self.scrollView.addSubview(imgView)


        }

        // Setting the size of the scroll view

        scrollView.contentSize = CGSize(width: (scrollView.frame.size.width * CGFloat(images.count)), height: scrollView.frame.size.height)

        scrollView.delegate = self

        }


        // Scrollview Method
        // --> Set new image and new page Control position

    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        var pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width // what actual page we are on
        pageControl.currentPage = Int(pageNumber)
    }

        }














UIScrollView right now

something like this would be nice :)

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете достичь того же с коллекцией-просмотра. В любом случае вы пытались включить Paging?

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