Textview не прокручивается вертикально в scrollview - Swift 4 - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть контроллер представления, названный как TeamDetailsViewController. Я добавил представление прокрутки в контроллер представления программно и добавил представление изображения, nameLabel и UITextview в качестве подпредставления представления прокрутки. imageview и NameLabel появляются, но текстовое представление не появляется по неизвестной причине. Пожалуйста помоги. Вот мой код.

Я отображаю набор элементов, таких как представление таблицы, используя UIcolectionview. Когда пользователь нажимает на одну ячейку, он / она перенаправляет на новый контроллер представления, где отображается информация о пользователе, такая как изображение, имя, биография. Био TextView

class TeamDetailsController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        setupViews()
        print(textView.text)
    }

    lazy var scrollView: UIScrollView = {
        let sv = UIScrollView(frame: self.view.bounds)
        sv.backgroundColor = .white
        sv.translatesAutoresizingMaskIntoConstraints = false
        sv.layer.borderWidth = 5
        return sv
    }()

    let profileImageView: UIImageView = {
        let imageView = UIImageView()
        imageView.image = UIImage(named: "team-tony")
        imageView.contentMode = .scaleAspectFill
        imageView.layer.cornerRadius = 50
        imageView.layer.masksToBounds = true
        imageView.clipsToBounds = true
        imageView.translatesAutoresizingMaskIntoConstraints = false
        return imageView
    }()

    let nameLabel: UILabel = {
        let label = UILabel()
        label.text = "Jared 'Donald' Dunn"
        label.font = UIFont.systemFont(ofSize: 20, weight: .bold)
        label.translatesAutoresizingMaskIntoConstraints = false
        return label
    }()

    let textView: UITextView = {
        var tv = UITextView()
        tv.translatesAutoresizingMaskIntoConstraints = false
        tv.textColor = .black
        tv.font = UIFont.systemFont(ofSize: 16)
        tv.isEditable = false
        return tv
    }()

    func setupViews() {

        view.backgroundColor = .white
        view.addSubview(scrollView)

        scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 0).isActive = true
        scrollView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor, constant: 0).isActive = true
        scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: 0).isActive = true
        scrollView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor, constant: 0).isActive = true

        scrollView.addSubview(profileImageView)
        profileImageView.centerXAnchor.constraint(equalTo: scrollView.centerXAnchor).isActive = true
        profileImageView.topAnchor.constraint(equalTo: scrollView.topAnchor, constant: 20).isActive = true

        scrollView.addSubview(nameLabel)
        nameLabel.centerXAnchor.constraint(equalTo: scrollView.centerXAnchor).isActive = true
        nameLabel.topAnchor.constraint(equalTo: profileImageView.bottomAnchor, constant: 10).isActive = true

        scrollView.addSubview(textView)
        textView.topAnchor.constraint(equalTo: nameLabel.bottomAnchor).isActive = true
        textView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
        textView.leftAnchor.constraint(equalTo: scrollView.leftAnchor, constant: 20).isActive = true
        textView.rightAnchor.constraint(equalTo: scrollView.rightAnchor, constant: 20).isActive = true


    }

}

1 Ответ

0 голосов
/ 04 сентября 2018

Вам необходимо установить bottomAnchor textView. Также вам нужно явно указать его высоту и ширину или установить adingAnchor и trailingAnchor .

P.S. Если это не решит вашу проблему. Пожалуйста, попробуйте добавить больше деталей в свой вопрос (пример пользовательского интерфейса, который вы хотите разработать).

...