Cocoa touch 如何将UITableViewController替换为包含UITableView的UIViewController?
我在Xcode中创建了一个新的SplitView iPad项目,并将代码设置为用数据填充TableView(在左侧的RootView中)。现在我想自定义RootView,使其包含一个DatePicker视图和TableView,但我不确定如何实现这一点。由于默认的RootViewController是UITableViewController的子类,因此我无法在IB中将日期选择器视图添加到它(因为您无法将日期选择器添加到UITableView)。要实现向“左”根视图添加日期选择器的目标,我所理解的唯一方法是将RootViewController从UITableViewController的子类更改为UIViewController的子类,然后我将能够使用IB向其中添加包含日期选择器视图和表视图的视图。问题Cocoa touch 如何将UITableViewController替换为包含UITableView的UIViewController?,cocoa-touch,ipad,Cocoa Touch,Ipad,我在Xcode中创建了一个新的SplitView iPad项目,并将代码设置为用数据填充TableView(在左侧的RootView中)。现在我想自定义RootView,使其包含一个DatePicker视图和TableView,但我不确定如何实现这一点。由于默认的RootViewController是UITableViewController的子类,因此我无法在IB中将日期选择器视图添加到它(因为您无法将日期选择器添加到UITableView)。要实现向“左”根视图添加日期选择器的目标,我所理解
@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate> {
DetailViewController *detailViewController;
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
}
@property (nonatomic, retain) IBOutlet DetailViewController *detailViewController;
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
- (void)insertNewObject:(id)sender;
@end
@接口RootViewController:UITableViewController{
DetailViewController*DetailViewController;
NSFetchedResultsController*fetchedResultsController;
NSManagedObjectContext*managedObjectContext;
}
@属性(非原子,保留)IBOutlet DetailViewController*DetailViewController;
@属性(非原子,保留)NSFetchedResultsController*fetchedResultsController;
@属性(非原子,保留)NSManagedObjectContext*managedObjectContext;
-(void)insertNewObject:(id)发送方;
@结束
是的,您不能向UITableViewController的子类添加元素,这很烦人,我要做的是,只需将RootViewController作为UIViewController的子类,在您的根视图控制器中定义一个属性UITableView*tableView,然后您就可以了,我以前已经做过了,而且非常简单,另外,请确保将nib中的UITAbleView更改为UIView,并在需要时向该视图添加一个表视图,并将其绑定到tableView属性(如果需要,也可以通过编程方式执行此部分)…请记住,如果您正在更改视图大小,这会导致UITAbleView自动调整大小(因为UITableViewCOntroller处理该问题),那么您可能需要通过编程来处理这个问题。谢谢,丹尼尔!这听起来是最好的方法。我想我还需要在我的RootViewController中添加对UITableViewDelegate和UITableViewDataSource的支持,以维护现有代码,对吗?是的,您也应该这样做(将委托和数据源设置为您之前让它们执行的任何操作)