Tôi có một ứng dụng có bảng phân cảnh. Tôi đang sử dụng một số View Controller với phân đoạn để chọn từ một cái nhìn bảng tùy thuộc vào mục được chọn. Tôi muốn có một bộ điều khiển xem trang, trong đó các trang sẽ là một hoặc nhiều bộ điều khiển xem từ bảng phân cảnh, thậm chí lặp lại chúng. Tôi đang cố gắng để init
Trình điều khiển Chế độ xem trang như sau: .... self.dataSource = self;Sử dụng Trình điều khiển Xem từ bảng phân cảnh theo chương trình trong Trình điều khiển Chế độ xem Trang
UIViewController *initialViewController =[self viewControllerAtIndex:current];
NSArray *viewControllers = [NSArray arrayWithObject:initialViewController];
[self setViewControllers:viewControllers direction:UIPageViewControllerNavigationOrientationHorizontal animated:NO completion:nil];
....
- (UIViewController *)viewControllerAtIndex:(NSUInteger)index
{
if ((descriptions.count == 0) ||
(index >= descriptions.count)) {
return nil;
}
current=index;
// Create a new view controller and pass suitable data.
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
Description *description=[DBCompany getDescriptionById:language descriptionId:[[descriptions objectAtIndex:index] integerValue]];
UIViewController *viewController=nil;
if(description.frame==100){
viewController=[[Company100ViewController alloc] init];
((Company100ViewController*)viewController).companyId = companyId;
}
return viewController;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ((descriptions.count == 0) ||
(current-1 < 0)) {
return nil;
}
return [self viewControllerAtIndex:current-1];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ((descriptions.count == 0) ||
(current >= descriptions.count)) {
return nil;
}
return [self viewControllerAtIndex:current+1];
}
Tuy nhiên, viewcontroller
xuất hiện bằng màu đen. Tôi nghĩ là vì tôi đang thêm lớp UIviewcontroller
nhưng không kết nối nó với bất kỳ chế độ xem nào, XIB, trong trường hợp của tôi với bảng phân cảnh.
Tôi làm cách nào để sử dụng bộ điều khiển chế độ xem khác nhau từ bảng phân cảnh theo chương trình để sử dụng trong bộ điều khiển chế độ xem trang?
cảm ơn. Điều đó hoạt động. –
Lưu ý: Nếu UIPageViewController của bạn nằm trong cùng một bảng phân cảnh với trang UIViewControllers của bạn, bạn có thể chỉ cần sử dụng self.storyboard thay vì UIStoryboard * sb = [UIStoryboard ... –