0

我正在覆盖以用我自己的子类的实例UINavigationController替换默认属性。所以我尝试了类似的东西navigationBarUINavigationBar

_navigationBar = [[SBNavigationBar alloc] init];

在我的-initWithRootViewController:. 但这并没有像我预期的那样成功。仍然显示默认值navigationBar

那么覆盖的最佳点是navigationBar什么?

提前致谢
-f

4

1 回答 1

1

如果您查看文档http://developer.apple.com/iphone/library/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html,您会看到navigationBar属性是只读的

例如,要进行自定义navigationBar,您可以使用类别。您会在stackoverflow上找到许多问题的答案。

一个简单的版本是将图像放入drawRect:就像这样......

@implementation UINavigationBar (Custom)

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

@end
于 2010-06-03T08:37:57.453 回答