在UIScrollView中看不到按钮

时间:2018-12-13 05:45:00

标签: swift uiscrollview uibutton uilabel addsubview

我以迅速滚动视图的形式列出了一个列表,其中视图由标签,按钮等各种类型组成。

但是,当我将按钮添加到子视图时,尽管显示了所有其他标签,但它们并未显示。我还尝试过约束和锚点。 另一方面,当我将相同的按钮添加到self.view.addsubview而不是scrollview.addsubview时,它们只是不滚动而显示,因为不再是滚动视图的一部分。 我什至删除了标签,以确保按钮没有重叠(也不起作用)

我还尝试查看“代码调试层次结构”(3D模式)中的代码,即使添加了按钮,我也看不到那里的按钮

下面是我的代码,其中包含标签,滚动视图和按钮的示例。如果有人可以提供任何见解,那就太好了。

.......滚动视图...................................... < / strong>

var editInfoView : UIScrollView = {

    let view = UIScrollView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.contentSize.height = 700
    view.backgroundColor = tableBackGroundColor
    view.frame = CGRect(x: 0, y: 220, width: 375, height: 400)

    return view
}()

.......................标签...................... < / strong>

vehicleNumberLabel.translatesAutoresizingMaskIntoConstraints = false
    vehicleNumberLabel.textColor = .white
    vehicleNumberLabel.text = "Vehicle Number"
    vehicleNumberLabel.textAlignment = .left

    editInfoView.addSubview(vehicleNumberLabel)

    vehicleNumberLabel.leftAnchor.constraint(equalTo: editInfoView.leftAnchor).isActive = true
    vehicleNumberLabel.topAnchor.constraint(equalTo: editInfoView.topAnchor, constant: 100).isActive = true
    vehicleNumberLabel.widthAnchor.constraint(equalToConstant: 160).isActive = true
    vehicleNumberLabel.heightAnchor.constraint(equalToConstant: 20).isActive = true

......................按钮...................... ..........

vehicleNumberButton.translatesAutoresizingMaskIntoConstraints = false
    vehicleNumberButton.setTitleColor(tableTextColor, for: .normal)
    vehicleNumberButton.setTitle("Vehicle Number", for: .normal)
    vehicleNumberButton.tintColor = tableTextColor
    vehicleNumberButton.backgroundColor = tableTextColor

    editInfoView.addSubview(vehicleNumberButton)

    vehicleNumberButton.rightAnchor.constraint(equalTo: editInfoView.rightAnchor).isActive = true
    vehicleNumberButton.topAnchor.constraint(equalTo: editInfoView.topAnchor, constant: 400).isActive = true
    vehicleNumberButton.widthAnchor.constraint(equalToConstant: 600).isActive = true
    vehicleNumberButton.heightAnchor.constraint(equalToConstant: 255).isActive = true

1 个答案:

答案 0 :(得分:1)

尽管我无法通过代码和解释来确定问题的根本原因,但我怀疑在 db.Organizations.aggregate([ { $match: { oldOrgID: "176348" } }, { $lookup: { from: "Groups", localField: "orgID", foreignField: "otherIds.orgID", as: "group-section" } }, { $project: { "group-section._id": 0, "group-section.groupID": 0, "group-section.otherIds": 0, "group-section.version": 0 } } ]) 上向 { "_id" : ObjectId("5c11efebd9cb4d35f47d6bd0"), "orgID" : "5b6c82462fb9ca35444d0ba2", "name" : "The Punjab Public School", "oldOrgID" : "176348", "group-section" : [ ] } 添加子视图后,您的UIScrollView()的框架为零布局引擎的异常行为。当我们以编程方式创建约束时,我们正在创建不平等,平等和优先级的组合,以将视图限制为特定的框架。如果这些约束方程的值不正确,则会更改相关视图的显示方式。避免同时使用viewDidAppear(_:)CGRect.zero是一种很好的做法,因为视图可能会根据语言(书写方向)和用户设置而改变方向。

ViewController.swift

leftAnchor