Вид прокрутки не прокручивается по горизонтали - PullRequest
0 голосов
/ 18 марта 2019

У меня есть пользовательское представление, я установил его в родительском как:

func setup(){
    view.backgroundColor = .gray
    view.addSubview(chartView)
    chartView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
    chartView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
    chartView.topAnchor.constraint(equalTo: view.topAnchor, constant: statusAndNavigationBarHeight).isActive = true
    chartView.heightAnchor.constraint(equalToConstant: Dimensions.chartHeight.value).isActive = true
}

Затем в этом представлении я попытался настроить прокрутку:

scroll = UIScrollView.init(frame: CGRect(x: 0.0, y: 0.0, width: scrollWidth(), // print 728.0
                                                 height: Double(Dimensions.chartHeight.value))) // print 400.0
    scroll.isScrollEnabled = true
    scroll.showsHorizontalScrollIndicator = true
    addSubview(scroll)
}

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

1 Ответ

3 голосов
/ 18 марта 2019

scrollView не прокручивается по своему размеру, ему нужен контент, который определяет его размер, например

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let chartView = UIView()
        chartView.translatesAutoresizingMaskIntoConstraints = false
        chartView.backgroundColor = .red
        view.backgroundColor = .gray
        view.addSubview(chartView)
        chartView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        chartView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
        chartView.topAnchor.constraint(equalTo: view.topAnchor, constant: 100).isActive = true
        chartView.heightAnchor.constraint(equalToConstant:200).isActive = true
        let scroll = UIScrollView(frame: CGRect(x: 0.0,
            y: 0.0,
            width: UIScreen.main.bounds.size.width, // print 728.0
            height: 200.0))
        scroll.isScrollEnabled = true
        scroll.showsHorizontalScrollIndicator = true
        chartView.addSubview(scroll)
        let www = UIView()
        www.backgroundColor = .green
        www.translatesAutoresizingMaskIntoConstraints = false
         scroll.addSubview(www)
        www.leftAnchor.constraint(equalTo: scroll.leftAnchor).isActive = true
        www.rightAnchor.constraint(equalTo: scroll.rightAnchor).isActive = true
        www.topAnchor.constraint(equalTo: scroll.topAnchor).isActive = true
        www.bottomAnchor.constraint(equalTo: scroll.bottomAnchor).isActive = true
        www.heightAnchor.constraint(equalToConstant:200).isActive = true
        www.widthAnchor.constraint(equalTo: view.widthAnchor,multiplier:2.0).isActive = true
        scroll.addSubview(www)

    }
}

enter image description here

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