我试图设置背景iamge为tabbar使用这个图像:
但是当我旋转设备时我有问题.
我使用的代码:
+ (UITabbarController *)loadTabbar { UITabbarController *tabbarController = [UITabbarController new]; MenuVC *vIEwController0 = [MenuVC new]; FavVC *vIEwController1 = [FavVC new]; UploadVC *vIEwController2 = [UploadVC new]; RestoreVC *vIEwController3 = [RestoreVC new]; SettingsVC *vIEwController4 = [SettingsVC new]; tabbarController.vIEwControllers = @[vIEwController0,vIEwController1,IEwController2,vIEwController3,vIEwController4]; [tabbarController.tabbar setBackgroundImage:[UIImage magenamed:@"tabbar_color"]]; [self setRootController:tabbarController]; return tabbarController; }
此外,我尝试在图像的右侧添加一个分隔符,我用于abbar项,但没有结果.
请问,请帮帮我吗?
谢谢 !
解决方法 您可以通过编程方式使UITabbar的背景:#define SEParaTOR_WIDTH 0.4f#define SEParaTOR_color [UIcolor whitecolor]- (voID) setupTabbarSeparators { CGfloat itemWIDth = floor(self.tabbar.frame.size.wIDth/self.tabbar.items.count); UIVIEw *bgVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(0,self.tabbar.frame.size.wIDth,self.tabbar.frame.size.height)]; for (int i=0; i<self.tabbar.items.count - 1; i++) { UIVIEw *separator = [[UIVIEw alloc] initWithFrame:CGRectMake(itemWIDth * (i +1) - SEParaTOR_WIDTH/2,SEParaTOR_WIDTH,self.tabbar.frame.size.height)]; [separator setBackgroundcolor:SEParaTOR_color]; [bgVIEw addSubvIEw:separator]; } UIGraphicsBeginImageContext(bgVIEw.bounds.size); [bgVIEw.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *tabbarBackground = UIGraphicsGetimageFromCurrentimageContext(); UIGraphicsEndImageContext(); [[UITabbar appearance] setBackgroundImage:tabbarBackground];}
您应该只扩展UITabbarController并制作一个自定义的UITabbarVIEwController.您应该在vIEwDIDLoad和willRotatetoInterfaceOrIEntation中调用此方法.
总结以上是内存溢出为你收集整理的ios – 在TabBar中的段之间添加分隔符全部内容,希望文章能够帮你解决ios – 在TabBar中的段之间添加分隔符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)