0
我试图中心我UIPickerView
一个view
这里面inputView
内 - 看起来像这样约束内部没有inputView申请pickerView
- inputView
- MyView的
- UIPickerView
- MyView的
问题是无论我使用什么约束都不会改变任何东西。
我试过到目前为止:
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
有更多的自定义。
我该怎么办?
我不喜欢选择器视图太多,但你检查它的实际宽度?也许它*是以一些填充为中心的。 – dfd
检查的一个快速方法是给'inputView和'myView'不同的backgroundColors,并且如果需要的话,打印它们的帧 - 只要确保帧检查在'viewDidLayoutSubviews()'中完成。我不是说这是你的问题,只是把它扔到那里 - 你的约束对我来说很好。 – dfd
@dfd它太奇怪了。我只是尝试将宽度应用于我的pickerView等于'self.view.frame.size.width',并且它正确无误。但是,为什么这些限制没有成功?如果我设置宽度,那么它只是伸展它。 –