2013-06-27 27 views
27

Ứng dụng của tôi tiếp tục bị lỗi khi tôi đặt nhiều bộ điều khiển chế độ xem trong ứng dụng của mình, như dưới đây.lớp uipageviewcontroller bị lỗi khi cài đặt nhiều bộ điều khiển chế độ xem

[self setViewControllers:_images direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL]; 

Hình ảnh của tôi là một bộ điều khiển chế độ xem.

Lỗi ứng dụng cho biết lỗi sau. Tôi không có ý tưởng bắt đầu từ đâu.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (9) doesn't match the number required (1) for the requested transition 

Trả lời

46

Khi lỗi nói, bạn đang cung cấp nhiều bộ điều khiển chế độ xem hơn mức cần thiết. Bạn chỉ nên cung cấp 1 bộ điều khiển xem trong một mảng. Sau đó, sử dụng các phương thức dataSource của trình điều khiển xem trang để cung cấp trước và sau khi bộ điều khiển xem đúng cách.

+0

Tôi muốn biết người dùng của tôi đang xem bộ điều khiển chế độ xem nào và sự kiện bất cứ khi nào được kéo để di chuyển đến bộ điều khiển tiếp theo. Đối với điều này tôi đã cố gắng sử dụng - (void) pageViewController: (UIPageViewController *) pageViewController didFinishAnimating: (BOOL) hoàn thành previousViewControllers: (NSArray *) previousViewControllers transitionCompleted: (BOOL) hoàn thành. Nhưng điều này được gọi là aint. Tôi đã đặt đại biểu và nguồn dữ liệu chính xác. –

+0

Bạn có thể lấy cá thể bộ điều khiển xem hiện tại bằng cách vào thuộc tính mảng điều khiển xem của pageViewController như [[pageViewController viewControllers] objectAtIndex: 0]; trong đại biểu trên. Đối với đại biểu không gọi điện thoại, hãy kiểm tra nơi bạn đặt dataSource và ủy quyền. – Zen

+0

Xin lỗi, sai lầm của tôi. Tôi đã viết nguồn dữ liệu hai lần, thay vì một nguồn dữ liệu và ủy quyền trong mã. –

-3

UIPageViewController trong iOS có một số lỗi. Thay vào đó hãy sử dụng UIScrollView + NSArray của UIViewController! Có thể điều này sẽ hữu ích. http://weijun.me/post/develop/2015-11-26

+0

Tôi sẽ không nói rằng nó là lỗi nhiều như nó khó sử dụng và không phải là rất tùy biến. Tôi chỉ khuyên bạn nên sử dụng nó khi bạn muốn có hoạt ảnh "lật trang". Nếu bạn muốn xem cuộn trang được phân trang với cuộn bình thường và một trangControl hơn UIScrollView thì dễ sử dụng hơn. – moger777

Các vấn đề liên quan