WMPageController: введение на китайском языке
https://github.com/wangmchn/WMPageController/blob/master/README_zh-CN.md
Простое решение для контроллеров страниц, таких как NetEase News.
Дополнительную информацию см. в CHANGELOG.
Создайте контроллер, который расширяет WMPageController. Есть два способа инициализировать WMPageController:
Используйте следующий конструктор для инициализации контроллера:
- (instancetype)initWithViewControllerClasses:(NSArray *)classes
andTheirTitles:(NSArray *)titles;
Здесь есть два важных свойства:
Использование аналогично UITableView, необходимо реализовать следующие методы:
- (NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController;
- (__kindof UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index;
- (NSString *)pageController:(WMPageController *)pageController titleAtIndex:(NSInteger)index;
После инициализации просто реализуйте эти методы источника данных в вашем WMPageController.
Легко настроить свой контроллер следующим образом, просто реализуйте два метода источника данных:
- (CGRect)pageController:(WMPageController *)pageController preferredFrameForContentView:(WMScrollView *)contentView;
- (CGRect)pageController:(WMPageController *)pageController preferredFrameForMenuView:(WMMenuView *)menuView;
Когда вы хотите изменить фрейм contentView, вам нужно вызвать метод -forceLayoutSubViews. Это вызовет повторный вызов вышеуказанного метода источника данных и перерисовку подпредставлений.
Если вам интересно, см. viewFrameExample для получения более подробной информации.
- (instancetype)init {
return [self initWithNibName:@"xxxViewController" bundle:nil];
}
- (UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"WMViewController"];
return vc;
}
См. StoryboardExample для более подробной информации.
Вы можете легко изменить стиль, установив xxxPageController.style = WMMenuViewStyleLine.
Если вы хотите, чтобы menuView отображался на панели навигации, установите .showOnNavigationBar = YES.
Если вам нужна новейшая версия, попробуйте 2.4.0 (в ней изменены некоторые API).
pod 'WMPageController', '~> 2.4.0'
Если предпочитаете старую версию, используйте 2.3.0.
pod 'WMPageController', '~> 2.3.0'
Если у вас возникли проблемы с фреймом или размером контроллера содержимого, просто попробуйте установить свойство viewFrame, которое позволит вам настроить собственный размер.
Вы можете поместить любой контроллер в WMPageController, но если вы хотите иметь UICollectionViewController, обратите внимание на метод инициализации UICollectionViewController.
Вам следует переопределить - init, чтобы предоставить UICollectionViewController UICollectionViewLayout.
Вот пример: ```objective-c
## License
Данный проект находится под лицензией MIT. Подробнее см. в файле LICENSE.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )