我正在尝试将UIPickerView
置于view
内的inputView
内 - 看起来像这样
问题在于,无论我使用什么约束,它都不会改变任何东西。
到目前为止我尝试过:
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
无论我做什么,输出都是这样的(不在中心)。我甚至可以删除那些约束,输出是相同的:
如果我将断点放到NSLayoutContraint激活线上,它就会停在那里。如果我选择退出myView
,myPickerView
默认位于inputView
内,但我需要myView
进行更多自定义。
我该怎么办?
答案 0 :(得分:0)
我通过将pickerView宽度设置为超级视图宽度来解决此问题,如下所示:myPickerView.frame.size.widt = self.view.frame.size.width
。这不是我想要的解决方案,但我找不到针对该特定问题的任何其他解决方案。
我认为Apple不会让你用inputView
这样的组件做事情,因为它几乎是键盘,它们不会让你改变任何与之相关的东西。而且我认为inputView
有一些只获取属性和默认内容拥抱。