У меня есть прокрутка, которая содержит пользовательский вид и несколько кнопок. я добавил uitableview от IB. и ячейки таблицы создаются динамически. Я добавляю метку и текстовое поле для каждой ячейки таблицы (что-то вроде формы ввода для пользователя.) Я написал код для изменения размера прокрутки при появлении клавиатуры. Поэтому, когда я нажимаю на текстовое поле, клавиатура поднимается и занимает половину экрана, а прокрутка занимает другую половину. проблема в том, что как только это происходит, табличное представление изменяется и отображает только первую ячейку таблицы. Я думаю, что табличное представление обрезается. Независимо от того, что я делаю, табличное представление не показывает всю таблицу ... так что я делаю неправильно.
Вот мой код.
- (void)viewDidLoad
{
[super viewDidLoad];
scrollView.contentSize=self.view.frame.size;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell= [[tableView dequeueReusableCellWithIdentifier:CellIdentifier] autorelease];
if (cell==nil) {
CGFloat fontSize = [UIFont labelFontSize]-3 ;
CGFloat topMargin = floor(0.5 * (tableView.rowHeight - fontSize)) -2;
cell = [[[UITableViewCell alloc]
initWithFrame:CGRectMake(0, 0, 320, tableView.rowHeight)
reuseIdentifier:CellIdentifier]
autorelease];
UILabel *labelHeading = [[[UILabel alloc]initWithFrame:CGRectMake(10.0, topMargin, 100.0, fontSize + 4)] autorelease];
labelHeading.text= [[self.menuItems objectAtIndex:indexPath.row] objectForKey:@"itemName"];
[cell addSubview:labelHeading];
txtValue = [[[UITextField alloc] initWithFrame:CGRectMake(120,topMargin,150 ,fontSize + 4)] autorelease];
txtValue.text=[NSString stringWithFormat:@" %@",[dataItems objectForKey:@"name"]];
[cell addSubview:txtValue];
[scrollView addSubview:cell];
}
return cell;
}
Так может кто-нибудь помочь мне. У кого-нибудь есть идеи?