所以,我有以下XIB约束不尊重
时加载为tableviewcell看起来像这样
既然决定我有这个XIB我不需要TableView,所以我将我的XIB类从UITableViewCell更改为UIView。在视图控制器我将此代码添加到viewDidLoad中()
var nView = MyChartView.instanceFromNib() as! MyChartView
self.view.addSubview(nView)
而且我得到了这个结果
正如你所看到的,它忽略了利润,并继续右侧(忽略红色,因为我用它来尝试和调试问题,没有图表数据也不是问题)。我已经打印了xib的框架宽度,并且我已经看到它比屏幕大小要大很多,但是我无法修复它。任何人都可以找出问题所在?
我试图改变MyChartView实例的边框与屏幕相匹配之间的约束,但它并没有区别。我将尝试以编程方式添加约束。但为什么这个问题不会发生在tableview中? –
我建议确保'MyChartView'的'translateResizingMaskToConstraints'是'false',并且你添加了约束(不仅仅是设置'frame')来决定它在它的超级视图中的位置。 NRitH可能是对的,虽然你的NIB本身可能有限制,但它本身和它的超级观点之间没有任何关系。如果仍有问题,则必须编辑问题以向我们显示以编程方式添加的约束,然后使用视图调试器或lldb向我们展示运行时的约束条件。 – Rob
我明白你们的意思了,我已经接受了Anil Varghese的回答,因为他有一个例子。我仍然不明白为什么它在tableview中正常工作。它是否推断tableview中的约束? –