I 문제 해결/회피 할 수있는 방법을 발견 한 것 다음 두 부분 (두 개의 독립적 UITableViews)으로도 분할하여 포인트 유리한에 근접하는 것이 가능하다 CATransform3D 변환을 사용
한다. 이들은 UIViewController (x 코드가 제공하는 UITableViewController가 아닌)에 의해 관리되어야하며 필요한 프로토콜을 구현해야합니다.
그런 다음 viewDidLayoutSubviews : 메서드에서 다음 코드를 사용하여 두 개의 tableviews를 변환합니다.
- (void) viewDidLayoutSubviews {
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
// left View
// vantage point
rotationAndPerspectiveTransform.m34 = 1.0/-150.0;
// Z-rotation of 90°
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 90.0 * M_PI/180.0, 0, 0,1);
// X-rotation of 25°
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, -25.0 * M_PI/180.0, 1, 0,0);
// left view
[self.view viewWithTag:1].layer.transform = rotationAndPerspectiveTransform;
//right view
rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0/-150;
// Z-rotation of 90°
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 90.0 * M_PI/180.0, 0, 0,1);
// X-rotation of 30°
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, 25.0 * M_PI/180.0, 1, 0,0);
// right view
[self.view viewWithTag:2].layer.transform = rotationAndPerspectiveTransform;
}
일단 변환되면 두 테이블 뷰가 서로 잘 맞도록 이동할 수 있습니다. 나머지 작업은 한 TV의 스크롤을 다른 TV와 연결하는 것입니다. 아직 그걸 알아 내지 못했어요.