ios4 中的 TabBar 自定义在 ios5 中不起作用

发布于 2024-12-17 18:28:15 字数 554 浏览 1 评论 0原文

在我的应用程序中,我想自定义选项卡栏的模式,但我的部署目标是 ios4,因此我在 appDelegate.m 的 appDidBecomeActive 中使用以下代码来执行此操作:

CGRect frameTab = CGRectMake(0, 0, 480, 49);
UIView *viewTab = [[UIView alloc]initWithFrame:frameTab];
UIImage *tabBarBackground = [UIImage imageNamed:@"tab_bar.png"];
UIColor *tabColor = [[UIColor alloc]initWithPatternImage:tabBarBackground];
[viewTab setBackgroundColor:tabColor];
[[myTabBarController tabBar] insertSubview:viewTab atIndex:0];

当我使用 4.3 模拟器运行应用程序时,它工作正常,但是当我在 ios5 中模拟时,它不起作用,选项卡变回黑色..有什么帮助吗?

谢谢。

In my app i want to customize the pattern of the tabbar, but my deployment target is ios4, so i am using the code bellow in the appDidBecomeActive in the appDelegate.m to do this:

CGRect frameTab = CGRectMake(0, 0, 480, 49);
UIView *viewTab = [[UIView alloc]initWithFrame:frameTab];
UIImage *tabBarBackground = [UIImage imageNamed:@"tab_bar.png"];
UIColor *tabColor = [[UIColor alloc]initWithPatternImage:tabBarBackground];
[viewTab setBackgroundColor:tabColor];
[[myTabBarController tabBar] insertSubview:viewTab atIndex:0];

When i run the app using the 4.3 simulator, it works properly, but when i simulate in ios5, it doesnt work, the tab goes back to black.. any help?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝色星空 2024-12-24 18:28:15

在 iOS 5 中,UITabBar 类中有新的 backgroundImage 属性,您应该使用它:

UIImage *tabBarBackground = [UIImage imageNamed:@"tab_bar.png"];
if ([[myTabBarController tabBar] respondsToSelector:@selector(setBackgroundImage:)]){
     [[myTabBarController tabBar] setBackgroundImage: tabBarBackground];
}
else{
    // If no backgroundImage property (pre iOS5) use your old code
    CGRect frameTab = CGRectMake(0, 0, 480, 49);
    UIView *viewTab = [[UIView alloc]initWithFrame:frameTab];
    UIColor *tabColor = [[UIColor alloc]initWithPatternImage:tabBarBackground];
    [viewTab setBackgroundColor:tabColor];
    [[myTabBarController tabBar] insertSubview:viewTab atIndex:0];
}

in iOS 5 there's new backgroundImage property in UITabBar class and you should use it:

UIImage *tabBarBackground = [UIImage imageNamed:@"tab_bar.png"];
if ([[myTabBarController tabBar] respondsToSelector:@selector(setBackgroundImage:)]){
     [[myTabBarController tabBar] setBackgroundImage: tabBarBackground];
}
else{
    // If no backgroundImage property (pre iOS5) use your old code
    CGRect frameTab = CGRectMake(0, 0, 480, 49);
    UIView *viewTab = [[UIView alloc]initWithFrame:frameTab];
    UIColor *tabColor = [[UIColor alloc]initWithPatternImage:tabBarBackground];
    [viewTab setBackgroundColor:tabColor];
    [[myTabBarController tabBar] insertSubview:viewTab atIndex:0];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文