- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有用于 UISearchDisplayController
的 UITableViewSource
类。在我的主 TableView 中,我有一个工作正常的自定义单元格。现在我想将自定义单元格也用于搜索结果的表格 View 。但我只管理它以显示默认样式
public class SearchSource : UITableViewSource
{
static NSString cellIdentifier = new NSString("CustomCell");
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
UITableViewCell cell = tableView.DequeueReusableCell (cellIdentifier);
if (cell == null)
cell = new UITableViewCell (UITableViewCellStyle.Default, cellIdentifier);
cell.TextLabel.Text = myList [indexPath.Row].Name;
return cell;
}
但这里我只有标准单元格,我想要我的自定义单元格。主 TableView 上的自定义单元格使用以下代码:
public partial class TestViewController : UITableViewController
{
static NSString cellIdentifier = new NSString("CustomCell");
public TestViewController (IntPtr handle) : base (handle)
{
TableView.RegisterClassForCellReuse (typeof(CustomCell), cellIdentifier);
}
public class TableSource : UITableViewSource {
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath){
CustomCell cell = (CustomCell)tableView.DequeueReusableCell (cellIdentifier);
cell.UpdateCell(...);
}
}
这是 CustomCell
的构造函数:
public CustomCell(IntPtr 句柄):base(句柄)
这就是我创建 UISearchDisplayController
的方式:
// create search controller
searchBar = new UISearchBar (new RectangleF (0, 0, View.Frame.Width, 50)) {
Placeholder = "Enter a search query"
};
searchController = new UISearchDisplayController (searchBar, this);
searchController.Delegate = new SearchDelegate (tableItems);
searchController.SearchResultsSource = new SearchSource (searchController);
this.TableView.TableHeaderView = searchBar;
但我尝试的所有操作都会导致应用程序崩溃(没有引用、无法出队、...)或者构造函数不匹配。
如何将我的自定义单元格用于 UISearchDisplayController
生成的表格 View ?
最佳答案
自 iOS 6 以来切换到新的单元格重用模式我将我的 SearchSource
调整为
CustomPatientCell cell = (CustomCell)tableView.DequeueReusableCell (cellIdentifier);
然后我将以下内容添加到我的 TestViewController
:
searchController.SearchResultsTableView.RegisterClassForCellReuse(typeof(CustomCell), cellIdentifier);
我只需将 GetHeightForRow
之类的方法添加到我的 SearchSource
中,就可以让它正常工作。
现在我有两个类似的 TableSource
和 SearchSource
实现 - 也许可以对两者进行总结?我从其他实现中看到,numberOfRowsInSection
等方法查询当前处于事件状态的 TableView 。我该如何总结呢?
关于ios - 如何在 Xamarin 的 UITableViewSource 中使用单元格重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25306895/
我正在使用 MvvmCross 编写 Xamarin.iOS 应用程序。我正在尝试制作一个表格,我可以看到绑定(bind)到源中的项目,但我从未看到任何单元格被创建。函数GetOrCreateCell
我正在为来自 UITableViewSource 的 UITableView 编写一个自定义单元格。我已经实现了 GetHeightForRow 并记录了结果以确保高度正确通过。问题是,我的自定义单元
我一直在尝试通过组合多个 UITableView 来实现多 ListView 。 我遇到的一个问题是,当我在多列 View 中的一个 TableView 上选择一行时,我无法覆盖要调用的 RowSel
如何访问 UITableviewSource 类中的 NavigationController? 在行选择时,我想导航到另一个 UIController。 这是我的代码, public class R
我有用于 UISearchDisplayController 的 UITableViewSource 类。在我的主 TableView 中,我有一个工作正常的自定义单元格。现在我想将自定义单元格也用于
我有一个非常简单的应用程序,它只包含 UITableView 及其 UITableViewSource.. 在不链接到 UITableViewSource 的情况下使用 UITableView 时(该
当我从 UITableViewSource 中单击 RowSelected 时,我想打开 View Controller 我在打开 UIViewController 时使用这段代码 如有任何帮助,我们
我记得在 MonoTouch 中有必要(现在仍然是?)保留对 UITableViewSource.GetCell() 返回的 UITableViewCells 的显式引用,以避免收集托管单元格.关于这
所以我构建了一个表格 ListView ,就像 Laurent Bugnion 的鲜花示例一样,一切正常。但是当我想使用编辑(通过滑动删除等)功能时该怎么办。 如何使用自定义 uitableviews
我是一名优秀的程序员,十分优秀!