【问题标题】:Textview is not scrolling vertically in the scrollview - Swift 4Textview 不在滚动视图中垂直滚动 - Swift 4
【发布时间】:2019-02-09 06:17:46
【问题描述】:

我有一个名为 TeamDetailsViewController 的视图控制器。我以编程方式将滚动视图添加到视图控制器,并将图像视图、nameLabel 和 UITextview 添加为滚动视图的子视图。 imageview 和 NameLabel 出现了,但 Text View 由于未知原因没有出现。请帮忙。这是我的代码。

我正在使用 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


    }

}

【问题讨论】:

  • 需要添加bottomAnchor of textView或者需要设置textView的高度。
  • @Kuldeep 如何设置动态高度
  • 只设置textView的bottomAnchor。
  • @Pankil 你能告诉我底部锚的代码吗?我应该将其设置为 scrollview.bottomAnchor
  • 是尝试将scrollView底部设置为TextView textView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true

标签: ios swift uiscrollview uitextview


【解决方案1】:

你需要设置textView的bottomAnchor。您还需要明确提供其高度和宽度或设置 leadingAnchortrailingAnchor

附:如果这不能解决您的问题。请尝试在您的问题中添加更多详细信息(您要开发的示例 UI)。

【讨论】:

  • 我编辑了代码。 Textview 正在显示,但它正在水平滚动。请帮忙。我希望它只垂直滚动。
  • 您应该使用UILabel 作为您要显示的文本。首先通过要显示的文本计算Label的高度和宽度。之后创建一个 UILabel 并将其添加到您的滚动视图中。无需添加 textview 仅用于显示文本。
  • stackoverflow.com/questions/30450434/… 查看此链接,了解如何根据 Swift 中的字符串计算 UILabel 的大小
猜你喜欢
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-02-03
  • 2015-12-21
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多