2012-08-07 2 views
1

각 페이지에 UITableViewController (미리 알림 앱과 유사)이 포함 된 UIScrollView이 있습니다. 각각 UITableViewControllers의 셀을 클릭하면 DetailViewController이 푸시됩니다.UIScrollView 겹쳐지는 UIViewController

그러나, DetailViewController이 터지면 부드럽게 미끄러지는 대신 UIScrollView 뒤에 즉시 사라집니다. UIScrollView의 다음 페이지가 사라지는 것을 볼 수 있지만 DetailViewController이 마지막 페이지에서 푸시 될 때 DetailViewController과 겹칠 수있는 내용이 UIScrollView에 없으므로 전환이 잘 보입니다.

편집

이 내가보기 컨트롤러 계층 (간체) 만드는 방법은 다음과 같습니다 ScheduleViewController.m

:

: 여기

- (void) viewDidLoad { 
    // ... 
    for (int i = 0; i < 3; ++i) { 
     MyTableViewController *myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableView" bundle:nil]; 

     [self.scrollView addSubview:myTableViewController]; 
     [self addChildViewController:myTableViewController]; 
     [myTableViewController didMoveToParentViewController:self]; 
    } 

그리고이 tableView:didSelectCellAtIndexPath:MyTableViewController에를

(void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     // ... 
     [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 

     DetailViewController* detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil]; 
     [self.navigationController pushViewController:detailViewController animated:YES]; 

    } 
} 

여기서 내가 잘못 할 수 있습니까? 이 문제에 대한 해결 방법이 있습니까?

+1

'UIScrollView'에 대한 수퍼 뷰가'clipToBounds'로 설정되어 있습니까 (인터페이스 빌더에서 'Clip Subviews'라고 부름)? UIScrollView는 슈퍼 뷰에서 벗어난 것 같습니다. 왜냐하면 너무 크고 애니메이션이 나빠 보이기 때문입니다. 클리핑 (clipping)을하면 문제가 발생하지 않지만 스크롤 뷰를 사용한 경험은 제한적입니다. –

+0

* facepalm * 그게 바로 문제였습니다 - 오늘 너무 많은 코딩. 감사! 당신이 대답으로 귀하의 의견을 추가하면, 나는 그것이 허용 및 upvote로 표시됩니다. –

답변

5

당신의 UIScrollView 요구에 대한 수퍼은 (옵션, 인터페이스 빌더에서 Clip Subviews라고 당신이 그런 식으로보기를 생성합니다.) 당신이 발견,이 UIScrollView 아마 도망 것 같습니다 TRUE로 clipsToBounds 설정을 위해 superview는 너무 커서 애니메이션을 좋지 않게 보이게 만듭니다. 그것을 클리핑하면 일어날 수 없습니다.