wangmchn / WMPageController

An easy solution to page controllers like NetEase News
MIT License
2.92k stars 627 forks source link

能否作为一个view添加到已有的控制器里面 #38

Closed chenfengfeng closed 8 years ago

chenfengfeng commented 8 years ago

我尝试在已经有的控制器添加进去 代码是这样的

   WMPageController *pageController = [self p_defaultController];
    pageController.menuViewStyle = WMMenuViewStyleLine;
    pageController.titleSizeSelected = 15;
    [self.MainView addSubview:pageController.view];

能看到导航条,但是看不到内容 有个奇怪的问题,内容会在加载的一瞬间出现一次,然后就不见了 我断点去加载发现这样直接加载view的话,你控制器的viewDidLayoutSubviews不会调用,导致scrollview的frame为0 虽然这样但是却也出现一闪而过的内容页,比较疑惑,请问这种情况应该如何解决,谢谢~

chenfengfeng commented 8 years ago

对了,我加载的控制器是通过故事版的 添加了故事版所关联的控制器 重新init方法,是这样重写的

-(instancetype)init
{
    return [[UIStoryboard storyboardWithName:@"recommend" bundle:nil]instantiateInitialViewController];
}
wangmchn commented 8 years ago

请问为什么要添加到一个视图上呢? 首先这是一个控制器,是UIViewController的子类,所以直接用WMPageController代替self成为控制器不行吗? 如果真要真么添加,请先将pageController添加为self的子控制器。

chenfengfeng commented 8 years ago

我在故事版创建的是一个tabbar导航控制器,如果我直接继承WMPageController 按照你说的要重新你自定义的init方法 接下来应该怎么做呢?这部分不是很清楚

wangmchn commented 8 years ago

添加了一个storyboard例子,可以参照该例子

chenfengfeng commented 8 years ago

恩恩~十分感谢~