我正在为 iPhone 应用程序的接口工作。我认识到我在不同的视图中有重复的对象,所以我想创建一个父 ViewController。但是现在当我想从子 ViewController 访问这个父 ViewController 的属性时,我遇到了一些问题。具体来说,我希望在每个视图中都有一个通用的 ProgressView,但我希望在视图出现时将其隐藏。当我从子 ViewController 访问 ProgressView.hidden 以获取显示的 ProgressView 时,我没有收到任何错误消息,但在运行程序中没有任何反应。
我的代码如下所示:
父视图控制器.h:
#import <UIKit/UIKit.h>
@interface ParentViewController : UIViewController{
UIProgressView *progressView;
}
@property (readwrite) UIProgressView *progressView;
@end
父视图控制器.m:
- (void)viewDidLoad
{
CGRect progressViewFrame = CGRectMake(0, 407, 320, 9);
progressView = [[UIProgressView alloc] initWithFrame:progressViewFrame];
progressView.hidden = TRUE;
[self.view addSubview:progressView];
[super viewDidLoad];
}
ChildViewController.h:
#import <UIKit/UIKit.h>
#import "ToolbarViewController.h"
@interface ChildViewController : ParentViewController
@end
ChildViewController.m:
- (void)viewDidLoad
{
progressView.hidden = FALSE;
[super viewDidLoad];
}
如果我这样做,ProgressView Bar 将保持隐藏状态,我不会收到任何错误。我还检查了是否调用了 viewDidLoad 方法,是的,它被调用了。
问候 C4rmel