我正在使用iphone sdk 3.1.2。
我在不同的标签上有3个根视图控制器。他们的左侧导航栏按钮在每个viewDidLoad
方法中都有一个自定义视图,分配如下。主自定义视图由AppDelegate
保留。每个regView
都是保留属性。在appDidFinishlaunching
方法中,我分配了一个imageView
(AppDelegate
的实例)并为其指定了一个图像:
UImageView* regView;
@property (nonatomic,retain) UIImageView* regView;
-(void) viewDidLoad
{
....
self.regView = appDelegate.regView;
UIBarButtonItem* regButton = [[UIBarButtonItem alloc] initWithCustomView:self.regView];
self.navigationItem.leftBarButtonItem = regButton;
[regButton release];
}
然而,当我在标签栏项目之间切换时,之前选择的视图控制器会丢失其leftBarButton
自定义视图,直到只有最后一个选定的视图保留在它上面。其他2个永远不会得到他们的左按钮自定义视图!
任何人都知道我做错了什么?
答案 0 :(得分:0)
我很确定你无法在多个视图中分享这样的子视图。
您必须创建regView
的三个唯一实例,而不是共享一个实例。