awD*_*emo 13 iphone cocoa-touch objective-c ipad ios
我有一段简单的代码,可以在tabBar上放置背景图像.
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBG.png"]];
[self.tabBarController.tabBar insertSubview:imageView atIndex:0];
[imageView release];
Run Code Online (Sandbox Code Playgroud)
这在iOS 4中运行良好,但在iOS 5中测试时,它不起作用.
我正在尝试执行以下操作:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBG.png"]];
NSString *reqSysVer = @"4.3";
NSString *iOSVersion = [[UIDevice currentDevice] systemVersion];
if ([iOSVersion compare:reqSysVer options:NSNumericSearch] !=NSOrderedDescending) {
// code for iOS 4.3 or below
[self.tabBarController.tabBar insertSubView:imageView atIndex:0];
}
else {
// code for iOS 5
[self.tabBarController.tabBar insertSubView:imageView atIndex:1];
}
[imageView release];
Run Code Online (Sandbox Code Playgroud)
唉,这不行......有人能提供解决方案吗?
bry*_*mac 37
iOS5提供UIAppearance Proxy.
此外,最佳做法是根据功能(在这种情况下,它是respondsToSelector)而不是iOS版本切换代码 - 这是一个脆弱的假设(谁说它将来不会改变).
您可以仅为该实例设置它,也可以为所有标签栏全局设置它:
// not supported on iOS4
UITabBar *tabBar = [tabController tabBar];
if ([tabBar respondsToSelector:@selector(setBackgroundImage:)])
{
// set it just for this instance
[tabBar setBackgroundImage:[UIImage imageNamed:@"tabbar_brn.jpg"]];
// set for all
// [[UITabBar appearance] setBackgroundImage: ...
}
else
{
// ios 4 code here
}
Run Code Online (Sandbox Code Playgroud)
Gau*_*rav 10
//---- For providing background image to tabbar
UITabBar *tabBar = [tabBarController tabBar];
if ([tabBar respondsToSelector:@selector(setBackgroundImage:)])
{
// ios 5 code here
[tabBar setBackgroundImage:[UIImage imageNamed:@"PB_MD_footer_navBg_v2.png"]];
}
else
{
// ios 4 code here
CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *tabbg_view = [[UIView alloc] initWithFrame:frame];
UIImage *tabbag_image = [UIImage imageNamed:@"PB_MD_footer_navBg_v2.png"];
UIColor *tabbg_color = [[UIColor alloc] initWithPatternImage:tabbag_image];
tabbg_view.backgroundColor = tabbg_color;
[tabBar insertSubview:tabbg_view atIndex:0];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19545 次 |
最近记录: |