Как я могу заменить UITableViewController на UIViewController, который содержит UITableView? - PullRequest
3 голосов
/ 13 мая 2010

Я создал новый проект SplitView для iPad в XCode и настроил код для заполнения TableView (в RootView слева) данными. Теперь я хотел бы настроить RootView, чтобы он содержал представление DatePicker вместе с TableView, но я не уверен, как этого добиться. Поскольку RootViewController по умолчанию является подклассом UITableViewController, я не смог добавить в него представление DatePicker в IB (поскольку вы не можете добавить DatePicker в UITableView). Единственный способ, которым я понимаю, для достижения моей цели добавления DatePicker в «левый» RootView - это изменить RootViewController с подкласса UITableViewController на подкласс UIViewController, тогда я смогу добавить к нему представление, которое содержит представление DatePicker и TableView с использованием IB. Вопросы ...

  1. Это правильный подход для добавления DatePicker в «левый» RootView?
  2. Если это так, и я изменяю RootViewController на подкласс UIViewController (вместо UITableViewController) и добавляю к нему TableView (вместе с DatePicker), как это повлияет на код, который у меня сейчас есть, для заполнения моего текущего TableView

Большое спасибо за вашу помощь! Ниже приведен мой текущий код интерфейса для моего RootViewController, если он поможет.

@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

1 Ответ

4 голосов
/ 14 мая 2010

Да, это раздражает, что вы не можете добавлять элементы в подкласс UITableViewController, что я бы сделал, просто сделайте RootViewController подклассом UIViewController, определите свойство UITableView * tableView в вашем корневом контроллере представления, и после этого все должно быть в порядке Я сделал это раньше, и это довольно легко, также убедитесь, что вы измените UITAbleView в своем кончике на UIView и добавьте табличное представление к этому представлению, если хотите, и привяжите его к свойству tableView (если это то, что вы хотите, вы можете также делайте эту часть программно) ... просто имейте в виду, если вы меняли размеры представления, что приводит к автоматическому изменению размера UITableView (потому что UITableViewCOntroller обрабатывает это), то вам, вероятно, придется позаботиться об этом программно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...