콘텐츠보기에 대한 두 가지 질문이 있습니다.어떤 콘텐츠보기를 건드릴 지 어떻게 알 수 있습니까?
첫 번째 질문 : tableview 셀에는 두 개의 콘텐츠 뷰가 있습니다. 어떤 것을 만진 지 어떻게 알 수 있습니까?
두 번째 질문 : 오직 콘텐츠보기가 tableview의 첫 번째 섹션에만 나타나길 원합니다. 그러나 tableview를 위로 스크롤하면 내용보기가 세 번째 섹션에도 나타납니다. 이 문제를 어떻게 해결할 수 있습니까?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UIImageView *imgView, *imgView1;
if(cell == nil)
{
if (indexPath.section == 0) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
cell.textLabel.text = @"test";
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100,0,20,62)];
[imgView setImage:[UIImage imageNamed:@"1.png"]];
imgView.tag = 10;
[cell.contentView addSubview:imgView];
[imgView release];
imgView1 = [[UIImageView alloc] initWithFrame:CGRectMake(200,0,20,62)];
[imgView1 setImage:[UIImage imageNamed:@"2.png"]];
imgView1.tag = 20;
[cell.contentView addSubview:imgView1];
[imgView1 release];
}
}
else
{
if (indexPath.section == 0) {
imgView = (id)[cell.contentView viewWithTag:10];
imgView1 = (id)[cell.contentView viewWithTag:20];
}
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
// How do I know left content view is touched or right content view is touched?
}
코드를 표시하십시오. 나는 초급이다. – user698200
내 대답이 업데이트되었습니다. UIGestureRecognizer에 대한 사과 문서에서 1) 검색은 매우 간단합니다. 2) 업데이트 된 텍스트보기 – Nekto
감사합니다. 두 번째 질문이 해결되었습니다. 어느 뷰를 만졌는지 알면 UIGestureRecognizer가 사용 된 것 같습니다. – user698200