我正在開發一個iOS應用程序,它需要更改UITabBar的高度。首先,我通過tabbar的框架屬性對其進行了更改,但這並沒有給出理想的結果,圖標的大小也非常小。所以,我寫了下面的代碼來改變tabbar的背景並增加圖標的大小。這是iOS私有API實現嗎?
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,那麼它可能不會被批准。 – Almo 2012-07-12 13:38:42
在這段代碼中,我實際上並沒有使用私有api,而只是檢查類名並向其應用了所有視圖中常見的一些屬性。 – 2012-07-12 17:04:38