2011-02-11 2 views
0

주 테이블보기와 세부보기가 있습니다. 셀 세부 정보보기를 클릭하면 해당 항목의 세부 정보가 표시됩니다. 이제 내가하고 싶은 것은 서브 뷰를 만들고 모든 셀에 대한 detailview를 만드는 대신에 그 서브 뷰를 detailView에 두는 것이다. 내 다른 문제를 해결할 것입니다. 코드는 다음과 같습니다.DetailViewController의 subView?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    DetailViewController *nextController = [[DetailViewController alloc] init]; 

    int storyIndex = [indexPath indexAtPosition:[indexPath length] -1]; 

    [nextController initWithObjectAtIndex:storyIndex inArray:stories]; 

    NSString *storyTitle = [[stories objectAtIndex:storyIndex] objectForKey:@"title"]; 

    nextController.title = @"Details"; 

    UIBarButtonItem *tempButtonItem = [[[UIBarButtonItem alloc] init] autorelease]; 
    tempButtonItem.title = @"Tillbaka"; 
    self.navigationItem.backBarButtonItem = tempButtonItem ; 

     [self.navigationController pushViewController:nextController animated:YES]; 

     [nextController release]; 
} 

이제 어떻게 레이블로 하위보기를 만들고 해당 레이블의 텍스트를 storyTitle로 변경할 수 있습니까? 고맙습니다.

답변

1

어떻게 당신은 단지에 레이블을 추가하기 위해 새로운 서브 뷰를 만들 필요가 없습니다, 레이블이있는 하위 뷰를 생성하고

부모 뷰를 감안할 때 storyTitle하는 라벨의 텍스트를 변경할 수 있습니다 부모. 그러나 부모보기에 레이블이있는 하위 뷰를 추가하려는 경우 다음을 수행하십시오.

... 
UIView *parentView; 
... 
UIView *subView = [[[UIView alloc] initWithFrame:mySubViewFrame] autorelease]; 
UILabel *lbl = [[[UILabel alloc] initWithFrame:myLabelFrame] autorelease]; 
lbl.text = storyTitle; 
[subView addSubview: lbl]; 
[parentView addSubview: subView]; 
+0

infact in app 내 테이블 뷰에서 한 셀을 클릭하면 detailview에 세부 정보가 표시됩니다. 그리고 detailview에 다음과 이전 버튼이 있습니다. 3 번째 항목을 클릭하면 이전 단추를 클릭하면 detailview에서 주 표보기로 돌아갑니다. 하지만 두 번째 항목의 detailview로 돌아 가야합니다. thats 난 다시 내 단추가 항상 주 테이블보기로 이동하게 될 subview를 추가하고 싶습니다. 그리고 다음 또는 이전보기를 누르면 하위보기가 변경됩니다. u는 그것의 좋은 접근법을 생각 하느냐, 아니면 그보다 더 좋은 점이 있습니까? 고맙다 형제 – Piscean

+0

나는 당신이하려는 것을 정확하게 따라하기가 힘듭니다. 비표준적인 소리를 내며, 셀을 선택했을 때 디테일 뷰 컨트롤러를 푸시하고 싶지 않은 이유가 있습니까? – Bogatyr

+0

이전 버튼을 클릭했을 때 애니메이션이 여전히 다음 셀 세부 정보로 이동하는 것과 다른 점을 제외하고는 이전에 모든 작업이 정상적으로 수행되었습니다.하지만 올바른 셀 정보를 얻는 중이었습니다. 이전 셀로 이동하는 것처럼 애니메이션을 만들려면 다음 코드 줄을 작성하십시오. [self.navigationController popViewControllerAnimated : YES]; \t \t [self.navigationController pushViewController : prevController animated : NO]; 그럼 애니메이션 괜찮 았어. 하지만 세 번째 셀을 클릭하면 detailview가 표시됩니다. 해당 세부보기에서 이전을 클릭하면 두 번째 항목의 세부 정보로 이동하는 대신 기본 테이블보기로 이동합니다. – Piscean

관련 문제