Uygulamamda UIRefreshControl
uygulamasını denemeye çalışıyorum. Bir xib dosyası var ve boş birleştirme dosyası için UITableViewController
ekledim ve yenileme özelliğini "etkin" olarak ayarladım. Ayrıca viewDidLoad
ve özel bir yenileme yöntemine kod ekledim. Sorun benim viewDidLoad
ben "türü ViewController
nesnesi bulunmayan Mülkiyet 'refreshControl
'" olsun ben .... ben herhangi bir bilgi bulamıyorum bir hata var olduğunu UIRefreshControl sorunları
- (void)viewDidLoad{
[super viewDidLoad];
self.myTableView =
[[UITableView alloc] initWithFrame:self.view.bounds
style:UITableViewStyleGrouped];
self.myTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
self.myTableView.delegate = self;
self.myTableView.dataSource = self;
[self.view addSubview:self.myTableView];
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull to Refresh"];
[refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged];
self.refreshControl = refresh;
}
-(void)refreshView:(UIRefreshControl *)refresh {
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"Refreshing data..."];
// custom refresh logic would be placed here...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM d, h:mm a"];
NSString *lastUpdated = [NSString stringWithFormat:@"Last updated on %@",
[formatter stringFromDate:[NSDate date]]];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:lastUpdated];
[refresh endRefreshing];
}
Hiçbir fikrim neden var özellik mevcut değil .... ne eksik?
dosyamdan ViewController.h
dosyamda kaleme almam gerekiyor. Zaten UITableView
varsa, her ikisinden de mi kalırım? Ben ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
ViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
için benim kodunu değiştirmek o zaman bir hata alıyorum:
error: NSInternalInconsistencyException',
reason: '-[UITableViewController loadView] loaded the "ViewController_iPhone" nib but didn't get a UITableView.'
Bu desteklenmiyor ve iOS'un sonraki sürümlerinde kırılabilir. Bir UIRefreshControl kullanmanın tek desteklenen yolu bir "UITableViewController" ile. –
@ACB, tam ihtiyacım olan şey budur! Milyonlarca teşekkür ederim. Keşke sana daha fazla sahne verebilseydim! – brianhevans
Evet, el ile eklediğiniz bir UITableView ve ile bir UIViewController sınıfında bir UIRefreshControl olabilir. Diğer cevapların yorumları doğru olabilir (dokümanlarla birlikte olmaz), ancak bu küçük kesmek iOS6'da çalışır. –