2013-03-12 5 views
1

Я использую UIRefreshControl в UITableviewController. В первый раз, когда таблица загружает данные, поступающие из Интернета, она автоматически отображается вверху. См. Изображение ниже. enter image description hereUIRefreshControl торчит вверху стола

Это, как я устанавливаю мой контроль обновления

[self.refreshControl addTarget:self action:@selector(doRefresh:) forControlEvents:UIControlEventValueChanged]; 
- (void)doRefresh:(CKRefreshControl *)sender { 
    NSLog(@"Refreshing Parent"); 
    // bring Data Here 
} 

Все это происходит перед обновлением тянуть к-. Первый раз, когда заполняются простые данные таблицы, отображается индикатор обновления, а не скрывается под панелью навигации. Может ли кто-нибудь сказать мне, почему это происходит?

+0

Измените свой вопрос, включив свой код для создания и использования 'UIRefreshControl'. –

+0

UITableViewController создан с xib-файлом, поэтому я просто установил метод действия для UIRefreshControl на ValueChnaged Method. Я также включаю Refreshing в XIb. –

+0

опубликуйте некоторый код, когда вы вызываете метод – Rushabh

ответ

0

Попробуйте выделить новый объект UIRefreshControl и установите для него self.refreshControl. Что-то вроде этого:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
[refreshControl setAttributedTitle:[[NSAttributedString alloc] initWithString:@"Refreshing.."]]; 
[refreshControl addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventValueChanged]; 
self.refreshControl = refreshControl; 

Надеюсь, это поможет.

EDIT: Также вы должны использовать [self.refreshControl endRefreshing] в конце вызываемого селектора.

+0

Почему? когда у меня есть refreshControl уже из UITableviewController? –

+1

@AbidHussain, потому что refreshControl из UITableViewController не выделяется при инициализации контроллера. Вы должны выделить и инициализировать новый UIRefreshControl и присвоить его свойству UITableViewController. EDIT: Вы правы, но вы можете выделить его напрямую, не создавая объект -> self.refreshControl = [[UIRefreshControl alloc] init] –

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