gpt4 book ai didi

swift - 约束不适用于 inputView 内部到 pickerView

转载 作者:行者123 更新时间:2023-11-30 12:18:31 25 4
gpt4 key购买 nike

我试图将我的 UIPickerView 置于 inputView 内的 view 的中心 - 看起来像这样

  • 输入 View
    • 我的 View
      • UIPickerView

问题是,无论我使用什么约束,它都不会改变任何东西。

到目前为止我已经尝试过:

let centerXConstraint = myPickerView.centerXAnchor.constraint(equalTo: myView.centerXAnchor)
let centerYConstraint = myPickerView.centerYAnchor.constraint(equalTo: myView.centerYAnchor)

NSLayoutConstraint.activate([centerXConstraint, centerYConstraint])

还有老方法:

let centerXConstraint = NSLayoutConstraint(item: myPickerView, attribute: .centerX, relatedBy: .equal, toItem: self.myView, attribute: .centerX, multiplier: 1.0, constant: 0.0)
let centerYConstraint = NSLayoutConstraint(item: myPickerView, attribute: .centerY, relatedBy: .equal, toItem: self.myView, attribute: .centerY, multiplier: 1.0, constant: 0.0)

NSLayoutConstraint.activate([centerXConstraint, centerYConstraint])

还有这样的:

myPickerView.topAnchor.constraint(equalTo: myView.topAnchor).isActive = true
myPickerView.bottomAnchor.constraint(equalTo: myView.bottomAnchor).isActive = true
myPickerView.centerXAnchor.constraint(equalTo: myView.centerXAnchor).isActive = true
myPickerView.widthAnchor.constraint(equalTo: myView.widthAnchor, multiplier: 1.0).isActive = true

无论我做什么,输出都是这样的(不在中心)。我什至可以删除这些限制,输出是相同的:

enter image description here

如果我将断点放置到 NSLayoutContraint 激活行,它会在那里停止。如果我选择退出 myView,则 myPickerView 默认在 inputView 内居中,但我需要那里的 myView进行更多定制。

我应该做什么?

最佳答案

我通过将 pickerView 宽度设置为等于 super View 宽度来解决该问题,如下所示:myPickerView.frame.size.widt = self.view.frame.size.width。这不是我想要的解决方案,但我找不到针对该特定问题的任何其他解决方案。

我认为苹果不会让你用像 inputView 这样的组件做事,因为它几乎是键盘,他们不允许你改变任何与之相关的东西。而且我认为 inputView 有一些仅获取属性和默认内容拥抱。

关于swift - 约束不适用于 inputView 内部到 pickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com