作为一个初学者,我正在努力学习如何正确地浏览Apple的API文档,同时学习一本教程作为辅助。在遵循一个关于编程约束的示例时,我遇到了以下方法:
let leadingConstraint = segmentedControl.leadingAnchor.constraint(equalTo: <NSLayoutAnchor<NSLayoutXAxisAnchor>)我了解到尖括号表示泛型。然而,这是苹果在这种情况下使用尖括号所暗示的吗?在搜索NSLayoutAnchor上的文档时,我找不到类似于以下代码的"topAnchor“:
let topConstraint = segmentedControl.topAnchor.constraint(equalTo: view.topAnchor)我如何才能找到名为"AnchorType“的泛型类型的选项呢?或者我对上下文的理解不正确?
提前谢谢你。
发布于 2017-11-12 07:29:21
您给出的第一个示例是无效代码(例如,缺少对齐尖括号)。然而,我想我理解它可能试图解释的东西。
苹果的NSLayoutXAxisAnchor文档(请参阅https://developer.apple.com/documentation/uikit/nslayoutxaxisanchor)有一个与您的第二个文档类似的示例。
在这篇文章中,文档解释了锚的类型需要匹配。在队伍中
cancelButton.leadingAnchor.constraintEqualToAnchor(saveButton.trailingAnchor, constant: 8.0).active = trueleadingAnchor和trailingAnchor都是X轴锚点,代码很好。
在第二个示例中
cancelButton.leadingAnchor.constraintEqualToAnchor(saveButton.topAnchor, constant: 8.0).active = truetopAnchor是Y轴锚点,因此会生成警告。
NSLayoutXAxisAnchor是从NSLayoutAnchor派生而来的,所以我认为您给出的第一个示例是试图理解参数需要是一个实际是NSLayoutXAxisAnchor的NSLayoutAnchor的概念。
NSLayoutAnchor的文档(请参阅https://developer.apple.com/documentation/uikit/nslayoutanchor)提供了以下可能性:
NSLayoutXAxisAnchorNSLayoutYAxisAnchorNSLayoutDimensionhttps://stackoverflow.com/questions/47243626
复制相似问题