我正在开发一个iOS应用程序,需要更改
UITabBar
的高度。首先,我通过 tabbar
的框架属性更改了它,但这并没有给出预期的结果,而且图标尺寸也很小。因此,我编写了以下代码来更改 tabbar
的背景并增加其图标的大小。
for (UIView *view in ctrl.tabBar.subviews) {
if ([NSStringFromClass(view.class) isEqualToString:@"_UITabBarBackgroundView"]) {
[view removeFromSuperview];
CGRect frame = ctrl.tabBar.frame;
frame.origin = CGPointZero;
frame.size.height = floor(frame.size.height / 2);
UIView *background = [[UIView alloc] initWithFrame:frame];
background.backgroundColor = [UIColor colorWithRed:0.15 green:0.15 blue:0.15 alpha:1.0];
background.userInteractionEnabled = NO;
[ctrl.tabBar addSubview:background];
[ctrl.tabBar sendSubviewToBack:background];
[background release];
}
for (UIView *subview in view.subviews) {
if ([NSStringFromClass(subview.class) isEqualToString:@"UITabBarSwappableImageView"]) {
CGRect frame = subview.frame;
frame.size.height = 80;
subview.frame = frame;
subview.contentMode = UIViewContentModeCenter;
}
if ([NSStringFromClass(subview.class) isEqualToString:@"UITabBarButtonLabel"]) {
CGRect sFrame = subview.frame;
sFrame.size.height += diff;
subview.frame = sFrame;
}
}
}
所以我想确认一下,“这个代码是否可以安全批准?”
您不必担心因使用私有 API 而被拒绝,因为您没有使用私有 API。现在商店中的许多应用程序都带有自定义选项卡栏,因此在此基础上这也不应该成为问题。但是,通过以某种方式设置选项卡栏样式,您可能不遵守 iOS 人机界面指南。根据应用程序商店审查指南,特别是本页上的第10节,不遵循界面指南将被拒绝。我建议阅读指南以获取更多信息;无论如何,他们有很多好的建议。
苹果现在响应提交的速度似乎比以前快了很多,所以既然看起来你已经把一切都设置好了,你可以把它发送进去看看他们怎么说。我预计不会出现重大问题,但苹果拥有最终决定权。他们通常会告诉您到底出了什么问题,以便您可以轻松纠正。