YPTabBarController icon indicating copy to clipboard operation
YPTabBarController copied to clipboard

只有两个viewcontroller,怎么居中呢?

Open csjlengxiang opened this issue 8 years ago • 2 comments

知乎,通知那一页,分为“通知”和“赞与感谢”

csjlengxiang avatar Jul 14 '16 16:07 csjlengxiang

两个办法, 1,设置YPTabBar的leftAndRightSpacing属性,比如设置为50,那么第一个item和最后一个item与两侧的距离都是50 2,设置YPTabBar的frame,比如,x = 50, width = 屏幕宽度 - 100,这样它就在中间了

yuping1989 avatar Jul 15 '16 01:07 yuping1989

当时看你回了就理所当然的解决了...今天一试发现不行啊亲... 对于item的布局你就是从leftAndRightSpacing处一个一个填入...其实并不是居中哦...

如下解决了两个的问题...

CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGSize size = [@"第一个个" boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)
                                       options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
                                    attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:17]}
                                       context:nil].size;
CGFloat spacing = 40;
CGFloat width = ceilf(size.width) + spacing;

[self setTabBarFrame:CGRectMake(screenSize.width/2-width, 20, width*2, 44)
    contentViewFrame:CGRectMake(0, 64, screenSize.width, screenSize.height - 64 - 50)];
[self.tabBar setScrollEnabledAndItemFitTextWidthWithSpacing:spacing];

csjlengxiang avatar Aug 24 '16 08:08 csjlengxiang