2014-01-23 4 views
0

У меня есть подкласс UITableViewController. Когда я пытаюсь добавить subView, это не показывается.Подраздел UITableView не отображается

SubView - это UIImageView, я создал пользовательский режим загрузки (его показывают, когда пользователь загружает данные из Интернета).

Но когда я добавляю,

[self.tableView addSubview:spinner]; 
[spinner startAnimating]; 

Вертушка не отображается. Что мне не хватает или я сделал не так?

EDIT

Код фильеры

UIImageView *spinner = [[UIImageView alloc]init]; 
spinner.animationImages = [NSArray arrayWithObjects: 
          [UIImage imageNamed:@"spin8.png"], 
          [UIImage imageNamed:@"spin7.png"], 
          [UIImage imageNamed:@"spin6.png"], 
          [UIImage imageNamed:@"spin5.png"], 
          [UIImage imageNamed:@"spin4.png"], 
          [UIImage imageNamed:@"spin3.png"], 
          [UIImage imageNamed:@"spin2.png"], 
          [UIImage imageNamed:@"spin1.png"], 
          nil]; 
+2

пожалуйста, поставить код ** Spiner ** – iPatel

+0

@iPatel видеть мое редактирование. – Rashad

+0

Попробуйте реализации этого в коде http://stackoverflow.com/questions/20837787/add-a-uirefreshcontrol-below-a-uitableview/20838552#20838552 – iDeveloper

ответ

0

Попробуйте

CGRect spinnerFrame = //frame of spinner 
UIImageView *spinner = [[UIImageView alloc] initWithFrame:spinnerFrame]; 
spinner.animationImages = [NSArray arrayWithObjects: 
         [UIImage imageNamed:@"spin8.png"], 
         [UIImage imageNamed:@"spin7.png"], 
         [UIImage imageNamed:@"spin6.png"], 
         [UIImage imageNamed:@"spin5.png"], 
         [UIImage imageNamed:@"spin4.png"], 
         [UIImage imageNamed:@"spin3.png"], 
         [UIImage imageNamed:@"spin2.png"], 
         [UIImage imageNamed:@"spin1.png"], 
         nil]; 

[self.tableView addSubview:spinner]; 
[spinner startAnimating]; 
+0

>> Ваше решение сработало, но не можете ли вы объяснить причину, почему он не работает в подклассе tableView? Он отлично работает с подклассом viewController. – Rashad

+0

В подклассе viewController вы использовали 'initWithImage:' или 'init'.? Поскольку установка свойства изображения не изменяет размер UIImageView, но 'initWithImage:' видит [здесь] (https://developer.apple.com/library/ios/documentation/uikit/reference/UIImageView_Class/Reference/Reference .html # jumpTo_9). И вы уверены, что не устанавливаете кадр в 'UIImageView' в подклассе viewController?? – Akhilrajtr

+0

Да, я уверен. В моем viewController я использовал «spinner = [[UIImageView alloc] init];» – Rashad

0

Попробуйте добавить его в contentView в Tableview в:

[self.tableVew.contentView addSubview:spinner]; 
+0

Он говорит: «Свойство contentView» не найдено на объекте типа «UITableView» !!! » – Rashad

+0

Извините, моя ошибка - я думал о ячейке tableview. Сожалею! –

+0

Я не пытаюсь добавить sub в tableViewCell Я пытаюсь добавить subView в tableView при загрузке данных из Интернета. – Rashad

1

Использование MBProgress HUD Сво пользовательский элемент управления, с помощью которого вы можете легко добавить различные тип индикатора загрузки

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 
hud.mode = MBProgressHUDModeAnnularDeterminate; 
hud.labelText = @"Loading"; 
[self doSomethingInBackgroundWithProgressCallback:^(float progress) { 
hud.progress = progress; 
} completionCallback:^{ 
[hud hide:YES]; 
}]; 

Использование выше кода или есть много других вариантов, а

Смежные вопросы