Swift Constraints&锚

时间:2017-11-29 05:37:33

标签: ios swift constraints

事实上,我正在寻找一个下拉按钮的示例。但不幸的是,事实证明它没有完全发挥作用,我不清楚动态约束和锚点是如何工作的。因此,我请求你的帮助。

  

'NSGenericException',原因:'无法用
激活约束   锚点和    因为他们没有   共同祖先。约束或其锚点是否引用了项目   不同的视图层次结构?这是非法的。

您可以在Github上找到我的源代码:https://github.com/Archetapp/Drop-Down-Menu/blob/master/sdafjkbslib/ViewController.swift

我发现了类似的问题,他们的解决方案是:

  • 检查在激活约束之前是否已将以编程方式创建的视图添加到其父级。

  • 检查是否在viewDidLoad()/ viewWillAppear()中编写约束激活码。您应该在updateViewConstraints或viewWillLayoutSubviews中编写约束。

  • 检查是否关闭translatesAutoresizingMaskIntoConstraints。

但它对我没有帮助。

1 个答案:

答案 0 :(得分:1)

对于下拉列表,我更喜欢这个library代码数量少且易于处理

<强>初始化

let dropDown = DropDown()

// The view to which the drop down will appear on
dropDown.anchorView = view // UIView or UIBarButtonItem

// The list of items to display. Can be changed dynamically
dropDown.dataSource = ["Car", "Motorcycle", "Truck"]

处理选择

// Action triggered on selection
dropDown.selectionAction = { [unowned self] (index: Int, item: String) in
  print("Selected item: \(item) at index: \(index)")
}

处理展示和隐藏

dropDown.show()
dropDown.hide()

非常容易定制

希望这会对你有所帮助