필자는 uitableview 및 몇 개의 버튼이 포함 된 scrollview 있습니다. IB에서 uitableview를 추가했습니다. 테이블 셀은 동적으로 작성됩니다. 나는 각 테이블 셀 (사용자를위한 입력 폼과 같은 것)을위한 lable과 텍스트 필드를 추가하려고한다. 키보드가 나타날 때 스크롤 뷰의 크기를 재조정하는 코드를 작성했다. 그래서 텍스트 필드를 클릭하면 키보드가 나타나 화면 절반을 차지하고 scrollview는 나머지 절반을 차지합니다. 이 문제가 발생하면 바로 테이블 뷰가 변경되어 테이블의 첫 번째 셀만 표시됩니다. 테이블 뷰가 잘린 것처럼 보입니다. 내가 뭘하든 관계없이, tableview는 전체 테이블을 표시하지 않습니다 ... 그래서 와트는 내가 잘못하고 있습니다.uiscrollview 및 uitableview
Heres my code.
- (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;
}
누군가 나를 도울 수 있습니다. 너 아이디어 받았어?
다른 문제가 있습니다. 키보드가 나타나면 전체보기가 조금씩 바뀌는 것 같습니다. 이것이 무엇을위한 이유가 될 수 있습니다. – Jayshree