Я пытаюсь создать и нарисовать UITableView, заполненный массивом. Я создал UIViewController и установил UIViewController в качестве делегата моего табличного представления. Однако кажется, что мой метод cellForRowAtIndexPath не вызывается при создании таблицы, поэтому моя таблица никогда не заполняется. Что мне здесь не хватает? (Все метки инициализируются в этой функции, так как я просто пытаюсь создать главное меню, используя таблицу, все записи будут исправлены).
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
prefTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain];
[prefTable setDelegate:self];
//NSIndexSet *tmpIndRange = [[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(0,1)];
//[prefTable insertSections:tmpIndRange withRowAnimation:UITableViewRowAnimationNone];
//[tmpIndRange release];
labelArray = [[NSMutableArray alloc] initWithCapacity:10];
[labelArray addObject:NSLocalizedString(@"Account ID",@"C_ACC_ID")];
[labelArray addObject:NSLocalizedString(@"Site ID",@"Site_ID")];
[labelArray addObject:NSLocalizedString(@"Station ID",@"Station_ID")];
[labelArray addObject:NSLocalizedString(@"Encryption Key",@"ENC_KEY")];
[labelArray addObject:NSLocalizedString(@"Encryption On",@"ENC_ON")];
placeholderArray = [[NSMutableArray alloc] initWithCapacity:10];
[labelArray addObject:NSLocalizedString(@"Required",@"Required")];
[labelArray addObject:NSLocalizedString(@"Required",@"Required")];
[labelArray addObject:NSLocalizedString(@"Required",@"Required")];
[labelArray addObject:NSLocalizedString(@"Required",@"Required")];
[labelArray addObject:NSLocalizedString(@"Required",@"Required")];
self.view = prefTable;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
NSInteger currenttag = textField.tag;
NSLog(@"%d",textField.tag);
//accountId = textField.text;
//stationId = textField.text;
//siteId = textField.text;
[textField resignFirstResponder];
return YES;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
[cell setAccessoryType:UITableViewCellAccessoryNone];
[cell.textLabel setText:[labelArray objectAtIndex:indexPath.row]];
//((TextInputTableCell *)cell).textField.placeholder = [placeholderArray objectAtIndex:indexPath.row];
return cell;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 4;
}
Кроме того, будет ли лучше, если я назначу пункты меню с использованием источника данных? Кажется, что заголовки разделов могут быть назначены только с использованием источника данных. Спасибо!