代理方法不执行问题,Demo里面都是push到一个新的页面,而我是直接添加到当前RootViewController
@implementation Tab3ViewController
-
(void)viewDidLoad { [super viewDidLoad];
NewsCustomizedPageController *vc = [[NewsCustomizedPageController alloc] init]; vc.title = @"123"; vc.menuViewStyle = WMMenuViewStyleLine;
vc.titleColorSelected = [UIColor whiteColor]; vc.titleColorNormal = [UIColor colorWithRed:168.0/255.0 green:20.0/255.0 blue:4/255.0 alpha:1]; vc.progressColor = [UIColor colorWithRed:168.0/255.0 green:20.0/255.0 blue:4/255.0 alpha:1]; vc.showOnNavigationBar = YES; vc.menuViewLayoutMode = WMMenuViewLayoutModeCenter; vc.titleSizeSelected = 15; NSLog(@"%@", vc.menuView); [self addChildViewController:vc]; [self.view addSubview:vc.view]; }
---------分割线--------
.h文件 @interface NewsCustomizedPageController : WMPageController
@end
.m文件 @interface NewsCustomizedPageController ()
@end
@implementation NewsCustomizedPageController
-
(void)viewDidLoad { [super viewDidLoad];
NSLog(@"%@", self.menuView); }
-
(NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController { return 5; }
-
(NSString *)pageController:(WMPageController *)pageController titleAtIndex:(NSInteger)index { switch (index) { case 0: return @"自选"; case 1: return @"沪深"; case 2: return @"港股"; case 3: return @"美股"; case 4: return @"日股"; } return @"NONE"; }
-
(UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index { switch (index) { case 0: return [[StockPickerNewViewController alloc] init]; case 1: return [[OptionalViewController alloc] init]; case 2: return [[UIViewController alloc] init]; } return [[UIViewController alloc] init]; }
-
(CGFloat)menuView:(WMMenuView *)menu widthForItemAtIndex:(NSInteger)index { CGFloat width = [super menuView:menu widthForItemAtIndex:index]; return width + 20; }
-
(CGRect)pageController:(WMPageController *)pageController preferredFrameForMenuView:(WMMenuView *)menuView {
CGFloat leftMargin = self.showOnNavigationBar ? 50 : 0; CGFloat originY = self.showOnNavigationBar ? 0 : CGRectGetMaxY(self.navigationController.navigationBar.frame); return CGRectMake(leftMargin, originY, self.view.frame.size.width - 2*leftMargin, 44); }
-
(CGRect)pageController:(WMPageController *)pageController preferredFrameForContentView:(WMScrollView *)contentView {
CGFloat originY = CGRectGetMaxY([self pageController:pageController preferredFrameForMenuView:self.menuView]);
return CGRectMake(0, originY, self.view.frame.size.width, self.view.frame.size.height - originY); }
@end
menuview不显示
- Tab3ViewController继承WMPageController 2.属性设置放到init / initWithCoder方法中执行