視圖外我有一個TableViewController與幾個自定義表格單元格。我只是在玩弄它,我做了一些滾動。我注意到當我在視圖外滾動一個TableViewCell時,它重新顯示佔位符文本有點暗。我認爲這是因爲TableViewCell被重新加載,現在有2個佔位符在彼此之上。我也有一個開關的自定義表格單元格。當該單元格離開視圖並返回時,它會取回原始值(當我將開關關閉並將其從視圖中移出時,它會回到'開')。自定義TableViewCell重新加載Xamarin.iOS
之前有人有過這個問題嗎?爲什麼TableViewCells再次出現在視圖中時會重新加載?
PS。我通過反序列化Json文件來創建TableViewCells,這是在ViewDidLoad()方法中完成的。
這是我GetCell方法:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
if (element [indexPath.Row].Type == "textField") {
NSString FieldID = new NSString ("EditField");
UITableViewCell cell = tableView.DequeueReusableCell (FieldID);
//Code to fill the textfield table cell
return cell;
}
if (element [indexPath.Row].Type == "switch") {
NSString FieldID = new NSString ("SwitchField");
UITableViewCell cell = tableView.DequeueReusableCell (FieldID);
//Code to fill switch table cell
return cell;
}
}
我編輯我的問題與GetCell方法我使用。 –
DequeueReusableCell()將(可能)返回已經初始化的單元格。你需要確保它已被正確初始化 - 例如,將字段重置爲默認狀態等。 – Jason
我只是Xamarin和C#的初學者,你能更具體嗎? –