2015-03-16 2 views
0

Я пытаюсь добавить вид загрузки в UITableView, управляемого классом UITableViewControlleraddsubview в UITableViewController

Я попытался:

-(void) loadingThread { 
[self.txtComentario resignFirstResponder]; 
[self.myLoadingView setHidden:NO]; 
UIWindow* window = [UIApplication sharedApplication].delegate.window; 
[window addSubview:self.myLoadingView]; 
[self.myLoadingView setHidden:NO]; 
} 

и перестарался:

-(void) loadingThread { 
    [self.txtComentario resignFirstResponder]; 
    [self.myLoadingView setHidden:NO]; 
    [self.navigationController.view addSubview:self.myLoadingView]; 
    [self.myLoadingView setHidden:NO]; 
     } 
+0

Просто попробуйте добавить «[self.view addSubview: yourLoadingView]». Здесь «seld.view» - это UITableView, как вы упомянули, вы используете «UITableViewController». Также попробуйте установить «yourLoadingView.frame = self.view.frame». – gagarwal

+0

Его невозможно сделать self.view addSubview в UItableViewcontroller – Developer2012

+0

Почему это невозможно? «self.view» - это UITableView, и это подкласс UIView. – gagarwal

ответ

0

Есть несколько вещей, которые вы можете попробовать, не требующие просмотра на UITableViewController's view.

  1. Устранить проблему - проблема с таблицей, которая заставляет пользователя ждать. Используйте фиктивную информацию для мгновенного отображения чего-либо, а затем обновите содержимое ячейки при получении информации. Вы видите это много с изображениями, где отображается местозаполнитель, а затем, когда изображение получено, изображение заменяет местозаполнитель. Ничто не мешает вам делать это с помощью других видов информации, таких как текст. Например, используйте «Имя пользователя» в светло-сером цвете, например текстовое поле со своим текстом-заполнителем.

  2. Используйте фиктивную ячейку для хранения вашего подсмотра. Пока ваши данные не будут готовы к показу, сделайте свой табличный вид только одной ячейкой, указав индикатор активности, добавленный в ячейку contentView. Когда данные поступают, удалите фиктивную ячейку и покажите нормальное содержимое.

0

Если ваша цель состоит в том, чтобы показать индикатор занятости при загрузке что-то, я бы настоятельно рекомендуем использовать один из существующих библиотек, таких как MBProgressHUD.

+0

Но это индивидуальный вид – Developer2012

+0

Да, MBProgressHUD поддерживает пользовательские представления! Проверьте демонстрационное приложение, вот ссылка на соответствующую строку исходного кода: https://github.com/jdg/MBProgressHUD/blob/master/Demo/Classes/HudDemoViewController.m#L144 – Alexey

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