1
我想在創建視圖0.5秒後顯示加載器。在init中初始化的屬性,在viewDidLoad中未更新
- (id)init
{
self = [super init];
if (self) {
self.loaded = NO;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.loader = [self newLoader];
self.loaded = YES;
self.loaderTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(showLoader) userInfo:nil repeats:NO];
[self.view addSubview:self.loader];
}
- (void)showLoader
{
if (self.loaded == NO) {
[self.loader show:YES];
}
}
通常與viewDidLoad
self.loaded = YES
不應該顯示加載程序。但它仍然出現。 我是否應該將self.loaded = YES
放入init
,以免顯示?
編輯: 如果我初始化self.loaded
在viewDidLoad
而不是「init」的,它不會顯示出來。但是爲什麼我不能在'init'方法中初始化'self.loaded',這樣loader就不會出現?
什麼是'loader'?它看起來像一個UIView子類。爲什麼在將它作爲子視圖添加到主視圖後不顯示? –
這是一個[MBProgressHUD](https://github.com/jdg/MBProgressHUD) – Sony
但問題是'loaded'屬性在' - (void)showLoader'中沒有正確的值。 – Sony