У меня есть общий UISplitViewController (UITableView в RootViewController и другие элементы в подробном представлении)
Я изменил UITableViewCells двумя способами:
- Высота строк составляет 55
- . UITableViewCells содержат как UIImage, так и UILabel
Всего 50 строк
ПРОБЛЕМА: Когда я запускаю приложение, первые 13 строк (те, которые видны) не отображаются.Я получаю пустые строки.
Если я прокручиваюсь от первых 13 строк, а затем прокручиваю назад ... ОНИ ЯВЛЯЮТСЯ.
Есть мысли о том, что я делаю неправильно?
Вот мой соответствующий код (я пропустил такие общие вещи, как dealloc).
////////// header file /////////////////////////
#import <UIKit/UIKit.h>
@class c_cell; // my custom UITableViewCell class (with cell height of "55")
@class DetailViewController;
@interface RootViewController : UITableViewController {
DetailViewController *detailViewController;
IBOutlet c_cell *cc;
NSArray *cell_names;
NSArray *cell_tlas;
}
@property (nonatomic, retain) IBOutlet DetailViewController *detailViewController;
@property (nonatomic, retain) IBOutlet c_cell *cc;
@property (nonatomic, retain) NSArray *cell_names;
@property (nonatomic, retain) NSArray *cell_tlas;
@end
///////////////// end header file /////////////////////
файл реализации
#import "RootViewController.h"
#import "DetailViewController.h"
#import "c_cell.h"
@implementation RootViewController
@synthesize detailViewController;
@synthesize cc;
@synthesize cell_names;
@synthesize cell_tlas;
#pragma mark View lifecycle
- (void)viewDidLoad {
[super viewDidLoad];
self.clearsSelectionOnViewWillAppear = NO;
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
}
- (void)viewWillAppear:(BOOL)animated {
if (!self.cell_names) {
self.cell_names = [NSArray arrayWithObjects:
@"123",
@"456",
@"789", nil]; // 50 records in total...not just 3 as shown here
}
if (!self.cell_tlas) {
self.cell_tlas = [NSArray arrayWithObjects:
@"aaa",
@"bba",
@"cca", nil]; // 50 records in total...not just 3 as shown here
}
}
#pragma mark Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section {
return 50;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 55;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
c_cell *cell = (c_cell *)[tableView dequeueReusableCellWithIdentifier:@"ccc"]; // c_cell is my custom cell class
if (!cell) {
[[NSBundle mainBundle] loadNibNamed:@"c_cell" owner:self options:nil];
cell = self.cc;
}
NSString *cell_string = [self.cell_names objectAtIndex:indexPath.row];
NSString *cell_tla = [self.cell_tlas objectAtIndex:indexPath.row];
NSString *cell_image_name = [NSString stringWithFormat:@"%@.png", cell_tla];
cell.cell_image.image = [UIImage imageNamed:cell_image_name];
cell.cell_label.text = cell_string;
return cell;
}
@end