Невозможно отобразить UILabel или UIImageView - PullRequest
1 голос
/ 01 сентября 2010

Я только начал разработку iPhone и столкнулся с досадной проблемой.Я перехожу из одного вида в другой, но тем временем я хотел бы отобразить загрузочное изображение.

Контроллер в настоящее время содержит TableView и TabControl.Я добавил изображение и метку к элементу управления («загрузочного» изображения) и связал их со связанными свойствами.Затем они @synthesized в главном элементе управления.

Если я установлю оба этих элемента как «скрытые» в конструкторе, они не будут отображаться.Если я этого не сделаю, они это сделают - что имеет смысл.

Однако, если я установлю их обоих скрытыми, то программно вызову imageView.hidden = NO, он не «появится».Я что-то упускаю?Если начальное свойство установлено как скрытое = НЕТ, я могу программно установить его на ДА, но не обратно на НЕТ.То же самое относится и к настройке .alpha этих элементов управления.

См. Ниже код, который я использую.Любая помощь будет оценена - спасибо:)

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

 ForumThread *thread = [threadsArray objectAtIndex:indexPath.row];

 loadingLabel.hidden = NO;
 imageView.hidden = NO;

 ThreadViewController *threadViewController = [[ThreadViewController alloc] initWithThreadId: [thread threadID]];

 loadingLabel.hidden = YES;
 imageView.hidden = YES;

 [[self navigationController] pushViewController:threadViewController animated:YES];

 threadViewController.title = [thread threadTitle]; 
 [threadViewController release];   
}

Должен быть промежуток около 2 с, где изображение / метка должны быть видны.Любая помощь будет оценена!

1 Ответ

0 голосов
/ 30 мая 2013

В вашем случае метка и imageView будут скрыты. Потому что нет никаких задержек в сокрытии ярлыка. Вы можете использовать таймер, чтобы задержать сокрытие. Попробуй это. Я не проверял это.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

 ForumThread *thread = [threadsArray objectAtIndex:indexPath.row];

 loadingLabel.hidden = NO;
 imageView.hidden = NO;

 ThreadViewController *threadViewController = [[ThreadViewController alloc] initWithThreadId: [thread threadID]];

  NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(ShowLabel) userInfo:nil repeats:NO];


 [[self navigationController] pushViewController:threadViewController animated:YES];

 threadViewController.title = [thread threadTitle]; 
 [threadViewController release];   
}
-(void) ShowLabel
{
 loadingLabel.hidden = YES;
 imageView.hidden = YES;
}
...