まず第一に、iOS の新人開発者であり、それは私の最初のプロジェクトであり、最初の問題が登場しました。私の問題は以下で説明します。
2 つのセクションを持つ tableView があります。問題は、tableView を上にスクロールすると、最初のセクション ヘッダーを除く tableView 全体が上に移動することです。下にスクロールしても問題ありません。
私のコードは次のとおりです。
//----------------Table view delegate method numberOfSectionsInTableView.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 2;
}
//----------------Table view delegate method numberOfRowsInSection.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section==0)
{
return [tableSection1 count];
}
else
{
return [tableSection2 count];
}
}
//----------------Table view delegate method titleForHeaderInSection.
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if(section==0)
{
return @"Mandatory Details";
}
else
{
return @"Optional Details";
}
}
//----------------Table view delegate method cellForRowAtIndexPath.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: simpleTableIdentifier];
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:simpleTableIdentifier];
if(indexPath.section==0)
{
// Set the data for this cell:
cell.textLabel.text = [tableSection1 objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [tableSection1Subtitle objectAtIndex:indexPath.row];
}
if(indexPath.section==1)
{
// Set the data for this cell:
cell.textLabel.text = [tableSection2 objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [tableSection2Subtitle objectAtIndex:indexPath.row];
}
return cell;
}
//---------------Table view delegate method didSelectRowAtIndexPath.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if(indexPath.section==0)
{
if(indexPath.row==0)
{
//....my code here....
}
if(indexPath.row==1)
{
//....my code here....
}
if(indexPath.row==2)
{
//....my code here....
}
if(indexPath.row==3)
{
//....my code here....
}
}
if(indexPath.section==1)
{
if(indexPath.row==1)
{
//....my code here....
}
if(indexPath.row==2)
{
//....my code here....
}
if(indexPath.row==3)
{
//....my code here....
}
}
}
したがって、ここで私のコードから、セクション0ヘッダー、つまり「必須の詳細」は、tableView全体の動きに従って上に移動していません。セクション 0 はビューの上部で停止し、残りの tableView はビューの上部の後でも上に移動します。ただし、下にスクロールすると、セクション 0 であっても、テーブル ビュー内の他のコンポーネントには問題はありません。
私を助けてください。誰にとってもバグのように見えます。だから私は私のリーダーから解雇されています。親切に私を助けてください。