【问题标题】:Swift UITextView invisible with contraintsSwift UITextView 在约束下不可见
【发布时间】:2019-07-10 14:14:15
【问题描述】:

我正在向屏幕添加一个 UITextView 并添加约束,但它没有显示在视图上。

class ViewController: UIViewController {

    let balanceTitle: UITextView = {
        let textView = UITextView();
        textView.text = "hello balance";
        textView.translatesAutoresizingMaskIntoConstraints = false;
        textView.textColor = .red;
        textView.backgroundColor = .gray;
        return textView;
    }()

    let labelTitle: UILabel = {
        let lblView = UILabel();
        lblView.text = "mmsmsmsmsmsmsmsm";
        lblView.textColor = .red;
        lblView.translatesAutoresizingMaskIntoConstraints = false;
        return lblView
    }()


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        //view.backgroundColor  = .gray
        //view.addSubview(balanceTitle)
        view.addSubview(balanceTitle);

        balanceTitle.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true;
        balanceTitle.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true;
        balanceTitle.heightAnchor.constraint(equalToConstant: 400).isActive = true;
    }


}

下面是我运行代码后得到的结果。

【问题讨论】:

  • 宽度好像是0,请把后面的分号删掉。这是斯威夫特。

标签: ios swift xcode autolayout uitextview


【解决方案1】:

你需要添加宽度约束

NSLayoutConstraint.activate([ 
    balanceTitle.centerYAnchor.constraint(equalTo: view.centerYAnchor),
    balanceTitle.centerXAnchor.constraint(equalTo: view.centerXAnchor),
    balanceTitle.heightAnchor.constraint(equalToConstant: 400),      
    balanceTitle.widthAnchor.constraint(equalToConstant: 200) 
])

或者像这样与视图成比例的值

balanceTitle.widthAnchor.constraint(equalTo:view.widthAnchor, multiplier: 0.8)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    相关资源
    最近更新 更多