2013-07-19 37 views
1

我試圖從MvxBindableTableViewCell繼承以重新定義我自己的單元格(具有更多文本字段和圖像)。 當從MyCustomSource.GetOrCreateCell創建新實例時,使用的ctor始終爲MyCustomCell(IntPtr句柄)。在這種情況下,使用的單元格樣式是Default,但我想使用Value1樣式(重新使用右對齊的藍色文本)。如何覆蓋繼承自MvxBindableTableViewCell的xib-less單元格的單元格樣式

在傳統的iOS應用程序中,解決方案是從我的ctor使用「initWithStyle:reuseIdentifier:」base ctor。 對於MonoTouch/MvvmCross項目,正確的解決方案可能會在XCode設計器中完成。但我正在從VS工作(不能在XS上使用我的解決方案),我只想使用無xib UI來跟蹤我的源代碼管理中的更改。

關於如何實現我的目標的任何想法?

Guillaume。

回答

0

就個人而言,我並不傾向於非常使用標準的細胞類型。相反,我傾向於使用XIB或基於手動代碼的佈局構建自己的自定義單元格。

但是,如果您想在Mvx中使用標準單元格類型,則可以輕鬆使用標準單元格類型。

在v3中,您可以選擇使用MvxStandardTableViewCell構造函數,該函數以UITableViewCellStyle作爲參數 - 例如,看到https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxStandardTableViewCell.cs#L40

這也暴露了該構造的MvxStandardTableViewSourcehttps://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxStandardTableViewSource.cs#L60


在vNext去年,我認爲相同的功能是通過舊MvxSimpleBindableTableViewSource暴露 - 見https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxSimpleBindableTableViewSource.cs#L62

+0

謝謝您回答斯圖爾特。我將使用我自己的細胞類型,而不依賴於任何細胞類型的考慮,事實上似乎是一個更好的主意。 但是我面臨着一個新的麻煩:當試圖將我的UI元素添加到ctor的ContentView中時(正如Xam在他們的教程中所解釋的那樣),這個似乎還沒有初始化(這並不是這樣使用UICollectionViewCell)。這就是爲什麼你在自定義單元上使用第三種方法「初始化」的原因嗎?或者這是我身邊的一個小故障? – GuillaumeG

相關問題