ios - UITabBar Wierd Height Difference -
i want default height seen in storyboard image when adding bar programmatically. idea how it? here code use add uitabbarcontroller
app.
- (void)setcustomtabbar { //todo: fix tabbar height uitabbarcontroller *tabbarcontroller = [[uitabbarcontroller alloc] init]; timelinevc *tvc = [[timelinevc alloc] initwithnibname:@"timelinevc" bundle:nil]; uinavigationcontroller *nav1 = [[uinavigationcontroller alloc] initwithrootviewcontroller:tvc]; timelinevc *tvc2 = [[timelinevc alloc] initwithnibname:@"timelinevc" bundle:nil]; uinavigationcontroller *nav2 = [[uinavigationcontroller alloc] initwithrootviewcontroller:tvc2]; tvc2.showfriends = true; notificationvc *nvc = [[notificationvc alloc] initwithnibname:@"notificationvc" bundle:nil]; nav3 = [[uinavigationcontroller alloc] initwithrootviewcontroller:nvc]; profilevc *pvc = [[profilevc alloc] initwithnibname:@"profilevc" bundle:nil]; uinavigationcontroller *nav4 = [[uinavigationcontroller alloc] initwithrootviewcontroller:pvc]; [[uitabbar appearance] settintcolor:[uicolor whitecolor]]; [[uitabbar appearance] setshadowimage:nil]; [tabbarcontroller setviewcontrollers:@[nav1, nav2, nav3, nav4]]; tabbarcontroller.selectedindex = 0; cgrect screenrect = [[uiscreen mainscreen] bounds]; cgfloat tabbarwidth = screenrect.size.width/4; [[uitabbar appearance] setbackgroundimage:[appdelegate imagefromcolor:[uicolor darkgraycolor] forsize:cgsizemake(screenrect.size.width, 49) withcornerradius:0]]; [[uitabbar appearance] setselectionindicatorimage:[appdelegate imagefromcolor:[uicolor colorwithred:26/255.0 green:163/255.0 blue:133/255.0 alpha:1] forsize:cgsizemake(tabbarwidth, 49) withcornerradius:0]]; tabbarcontroller.tabbar.translucent = no; uiimage *normalimage, *selectedimages; normalimage =[uiimage imagenamed:@"timelineicon"]; selectedimages = [uiimage imagenamed:@"timelineicon"]; uiimage *normalimage2, *selectedimages2; normalimage2 =[uiimage imagenamed:@"friendsicon"]; selectedimages2 = [uiimage imagenamed:@"friendsicon"]; uiimage *normalimage3, *selectedimages3; normalimage3 =[uiimage imagenamed:@"notificationicon"]; selectedimages3 = [uiimage imagenamed:@"notificationicon"]; uiimage *normalimage4, *selectedimages4; normalimage4 =[uiimage imagenamed:@"profileicon"]; selectedimages4 = [uiimage imagenamed:@"profileicon"]; //todo: loop nav1.tabbaritem.selectedimage = [normalimage imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav1.tabbaritem.image = [selectedimages imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav1.tabbaritem.imageinsets = uiedgeinsetsmake(6, 0, -6, 0); nav2.tabbaritem.selectedimage = [normalimage2 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav2.tabbaritem.image = [selectedimages2 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav2.tabbaritem.imageinsets = uiedgeinsetsmake(6, 0, -6, 0); nav3.tabbaritem.selectedimage = [normalimage3 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav3.tabbaritem.image = [selectedimages3 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav3.tabbaritem.badgevalue = @"1"; nav3.tabbaritem.imageinsets = uiedgeinsetsmake(6, 0, -6, 0); nav4.tabbaritem.selectedimage = [normalimage4 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav4.tabbaritem.image = [selectedimages4 imagewithrenderingmode:uiimagerenderingmodealwaysoriginal]; nav4.tabbaritem.imageinsets = uiedgeinsetsmake(6, 0, -6, 0); self.window.rootviewcontroller = tabbarcontroller; [self.window addsubview:tabbarcontroller.view]; [self enablesupportkit]; }
[self.tabbar setframe:cgrectmake(self.tabbar.frame.origin.x, self.tabbar.frame.origin.y, self.tabbar.frame.size.width, self.tabbar.frame.size.height)];
this helped me. hope helps.
Comments
Post a Comment