我利用ICViewPager
来创建内容选项卡。但是,由于在ICViewPager
的内容视图底部&底部存在奇怪的空间,所以布局看起来很奇怪。ICViewPager顶部和底部的奇怪空间
正如您在下面看到的,我在屏幕的顶部有一个UINavigationBar
,它由嵌入UINavigationController
生成。然后,使UINavigationController
成为UITabbar Controller
中的其中一个选项卡。下面是结构:
的UITabBarController - >的UINavigationController - > TabVC(其中包含ICViewPager) - >内容的观点:Content1VC,Content2VC,Content3VC
以下是TabVC
代码(其CONFIGS有<ViewPagerDataSource, ViewPagerDelegate>
):
// in viewDidLoad
self.dataSource = self;
self.delegate = self;
self.edgesForExtendedLayout = UIRectEdgeNone;
和用于委托方法:
#pragma mark - ViewPagerDataSource
- (NSUInteger)numberOfTabsForViewPager:(ViewPagerController *)viewPager {
return tabsContents.count;
}
- (UIView *)viewPager:(ViewPagerController *)viewPager viewForTabAtIndex:(NSUInteger)index {
UILabel *label = [UILabel new];
label.text = [tabsContents objectAtIndex:index];
label.textColor = [UIColor colorWithRed:136/255.0 green:136/255.0 blue:136/255.0 alpha:1.0f];
[label sizeToFit];
return label;
}
- (UIViewController *)viewPager:(ViewPagerController *)viewPager contentViewControllerForTabAtIndex:(NSUInteger)index {
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:[tabsVC objectAtIndex:index]];
return vc;
}
功能看起来不错,但是布局并没有像预期的那样跨越整个空间。预计不会出现红色空格(我将TabVC视图的背景颜色设置为红色以说明问题)。如何使ICViewPager
占据红色空间?
注:这仅出现后视图弹出推送的视图控制器,或更改标签早在UITabbarController
我不能完全肯定,但尝试用'edgesForExtendedLayout','extendedLayoutIncludesOpaqueBars'和'automaticallyAdjustsScrollViewInsets'玩,看看你能搞定 – ShahiM
谢谢,当我注释掉'self.edgesForExtendedLayout = UIRectEdgeNone;',布局问题解决了。你可以请你把答案作为答案(如果可能,你能解释为什么线路导致这个问题吗?我不太明白) – Raptor
张贴为答案。不客气。 – ShahiM