У меня странная проблема.
Я создаю подкласс UIViewController и добавляю свойство tableView, в которое я загружаю UITableView. Теперь я добавляю этот UITableView в родительские подвиды. Работает нормально, но я получаю ДВА TableView. Один TableView в стандартном стиле и один, как я хотел, чтобы он был поверх стандартного. Оба содержат правильные данные, хотя.
@interface RootViewController : UIViewController <ABPersonViewControllerDelegate, UITableViewDelegate, UITableViewDataSource> {
UITableView *tableView;
ToolbarController *toolbar;
...
}
@property(nonatomic, retain) UITableView *tableView;
@property(nonatomic, retain) ToolbarController *toolbar;
...
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
CGRect mainViewBounds = self.parentViewController.view.bounds;
CGFloat toolbarHeight = 44;
toolbar = [[ToolbarController alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(mainViewBounds), toolbarHeight) parentView:self];
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, toolbarHeight, CGRectGetWidth(mainViewBounds), CGRectGetHeight(mainViewBounds) - toolbarHeight) style:UITableViewStylePlain];
tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
tableView.rowHeight = 60.0;
[tableView tableView].delegate = self;
[tableView tableView].dataSource = self;
tableView.backgroundColor = [UIColor clearColor];
[self.parentViewController.view addSubview:tableView];
[self.parentViewController.view addSubview:toolbar];
}
@end
------ОБНОВЛЕНО------
Я просто неправильно вставил одну часть
[tableView tableView].delegate = self;
[tableView tableView].dataSource = self;
на самом деле в коде
tableView.delegate = self;
tableView.dataSource = self;
-------ОБНОВЛЕНИЕ 2--------
Если я не создам свой собственный UITableView с помощью
tableView = [[UITableView alloc] ...]
то для меня автоматически устанавливается один. Меня бы это устроило... Инициировать не надо, а поменять рамку на стандартную не могу.
tableView.frame = CGRectMake(0, toolbarHeight, CGRectGetWidth(mainViewBounds), CGRectGetHeight(mainViewBounds) - toolbarHeight);
Установка рамки ни на что не влияет...