2015-07-03 1 views
0

Есть ли способ применить элемент управления обновлением к UITableView, который установлен в UIViewController?Как применить управление обновлением к UITableView

Решение, которое я нашел требует подклассов из UITableViewController, что проблематично для меня, потому что мне нужно подкласс UIViewController а не UITableViewController, и я не вижу какой-либо метод по документации UITableView, что позволяет мне установить контроль обновления в теме.

Любая помощь будет очень признательна!

+0

Пожалуйста, проверьте: http://stackoverflow.com/questions/10291537/pull-to-refresh-uitableview-without-uitableviewcontroller –

+0

Спасибо @SandeepAgrawal! –

ответ

9

использование этого UIRefreshControl управления:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
[refreshControl addTarget:self action:@selector(refresh1:) forControlEvents:UIControlEventValueChanged]; 
[Delivered_TBL addSubview:refreshControl]; 


- (void)refresh1:(UIRefreshControl *)refreshControl 
{ 
    [self Service_Call]; 
    [refreshControl endRefreshing]; 
} 
+0

Спасибо @ Джей Бхалани! –

2

Существует UIRefreshControl

Проверьте эти ссылки на источники информации

UIRefreshControl - Pull To Refresh in iOS 7

http://www.techrepublic.com/blog/software-engineer/better-code-implement-pull-to-refresh-in-your-ios-apps/

+0

Спасибо за полезную ссылку @DHEERAJ! –

+0

то почему ты не согласился с моим ответом? .. Просто шутишь .. никаких особых чувств ... – DHEERAJ

+0

Простите за этого человека. если бы стек позволил мне принять более одного ответа, я тоже буду рад принять вас. :) –

2
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
refreshControl.backgroundColor = [UIColor clearColor]; 
refreshControl.tintColor = [UIColor whiteColor]; 
[refreshControl addTarget:self 
        action:@selector(getLatestData) 
     forControlEvents:UIControlEventValueChanged]; 

[yourTableviewName addSubview:refreshControl]; 


    -(void)getLatestData 
{ 
// here add your reload method 
    [self XXXXX]; 

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"MMM d, h:mm a"]; 
    NSString *title = [NSString stringWithFormat:@"Last update: %@", [formatter stringFromDate:[NSDate date]]]; 
    NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:[UIColor whiteColor] 
                    forKey:NSForegroundColorAttributeName]; 
    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:title attributes:attrsDictionary]; 
     refreshControl.attributedTitle = attributedTitle; 

     [refreshControl endRefreshing]; 
    } 
+0

Спасибо @ Анбу.Картик! –

+0

Это нормально работает, если у вас есть проблемы с этим, пожалуйста, спросите меня, –

+0

Да, спасибо. –

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