【问题标题】:Customise UITabBar (background image) via subclassing and overriding initWithFrame通过子类化和覆盖 initWithFrame 自定义 UITabBar(背景图像)
【发布时间】:2012-08-05 21:45:59
【问题描述】:

似乎有很多不同的方法可以改变 UITabBar 的外观。我发现在iOS 5 中,有backgroundImage 等UITabBar 的新属性。但是,我该如何以及在哪里设置呢?

我想继承 UITabBar 并覆盖 initWithFrame 方法,设置背景图像。

虽然我创建了一个新类@interface UITabBarClass : UITabBar 并在initWithFrame 的实现中添加了以下代码:

- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        // Change background image
        UIImage *backgroundImage = [UIImage imageWithContentsOfFile:@"uitabbar-background-normal"];

        self.backgroundImage = backgroundImage;
    }
    return self;
}

背景图像不会改变。我也试过用同样的方法写一个日志,它在运行时没有被记录。

任何人都可以提供帮助或建议吗?

提前致谢! :)

【问题讨论】:

    标签: objective-c uitabbar


    【解决方案1】:

    我按照本教程解决了这个问题,请注意,您不需要像上面所说的那样创建“tabBar1”,只需使用self.tabBarhttp://www.jondack.com/index.php/2010/12/16/customizing-the-background-of-a-uitabbarcontroller/

    【讨论】:

      【解决方案2】:

      使用

      self.tabBarController.tabBar.backgroundImage = [UIImage....];
      

      tabBarController 是您的标签栏控制器的名称。

      【讨论】:

        猜你喜欢
        • 2023-03-30
        • 2014-10-03
        • 2012-12-26
        • 2016-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多