Я в настоящее время обновляет некоторые старые приложения Xcode в Xcode 6.Xcode пользовательские панели вкладок 1 пиксель разрыв в верхней
У меня есть пользовательские панели вкладок, которая используется для загрузки и выглядеть хорошо, но в Xcode 6 он разработал промежуток в 1px в верхней части панели вкладок, от которого я не могу избавиться, и выглядит очень плохо!
Я прочитал несколько других подобных сообщений СО и следил за всеми предложениями, но ни один из них, похоже, не имеет никакого эффекта, и разрыв в 1px все еще существует.
Вот мой собственный код панели вкладок:
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGRect tabbarTopFrame = CGRectMake(0,(screenSize.height - 59),320,10);
UIImageView *tabbarTop = [[UIImageView alloc] initWithFrame:tabbarTopFrame];
tabbarTop.image = [UIImage imageNamed:@"tabbar_top.png"];
[self.tabBarController.view addSubview:tabbarTop];
UIImage *selectedImage0 = [UIImage imageNamed:@"tabbar_introduction_active.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"tabbar_introduction_default.png"];
UIImage *selectedImage1 = [UIImage imageNamed:@"tabbar_nests_active.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"tabbar_nests_default.png"];
UIImage *selectedImage2 = [UIImage imageNamed:@"tabbar_home_active.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"tabbar_home_default.png"];
UIImage *selectedImage3 = [UIImage imageNamed:@"tabbar_dogowners_active.png"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"tabbar_dogowners_default.png"];
UIImage *selectedImage4 = [UIImage imageNamed:@"tabbar_spotted_active.png"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"tabbar_spotted_default.png"];
UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];
[self.tabBarController.tabBar setClipsToBounds:YES];
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
item0.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
item4.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);
[item0 setImage:[unselectedImage0 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item1 setImage:[unselectedImage1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item2 setImage:[unselectedImage2 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item3 setImage:[unselectedImage3 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item4 setImage:[unselectedImage4 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item0 setSelectedImage:[selectedImage0 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item1 setSelectedImage:[selectedImage1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item2 setSelectedImage:[selectedImage2 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item3 setSelectedImage:[selectedImage3 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[item4 setSelectedImage:[selectedImage4 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
Изображения были использованы в предыдущем коде приложения, который был написан в Xcode 4, и все работало нормально, то, так это должно быть что-то, что изменилось в Xcode 5 или 6 или в iOS7/iOS8?
Код предполагает, что высота полосы вкладок равна 49, верно ли это? Вы можете проверить высоту панели вкладок с помощью кода. – gabbler
Да, если я проверяю код на высоту табуляции, он возвращает 49px. Все графики подтверждены как 49px. Моя настраиваемая панель вкладок высотой 59 пикселей, с 49 пикселями для вкладок и 10-кратной верхней графикой. Этот дополнительный промежуток в 1px находится между панелью вкладок 49px и верхней частью 10px. – Richard
Невозможно воспроизвести, возможно, это что-то с изображением tabbarTop, попробуйте изменить его на другое изображение. – gabbler