所以,我有以下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中的約束? –