[英]iOS 6: [self.tableview reload data] disable the scrolling?
我正在為iOS 6開發數據管理系統的應用程序。這是我的代碼:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationItem.title = @"Detail";
if (self.student.thumbnailImage != nil) {
[self.imageButton setImage:[UIImage imageWithData:self.student.thumbnailImage] forState:UIControlStateNormal];
} else {
[self.imageButton setImage:[UIImage imageNamed:@"Default_photo3.png"] forState:UIControlStateNormal];
}
NSLog(@"Student First = %@", self.student.firstname);
self.firstNameTF.text = self.student.firstname;
NSLog(@"Student Last = %@", self.student.lastname);
self.lastNameTF.text = self.student.lastname;
NSLog(@"Student IC = %@", self.student.ic);
self.icTF.text = self.student.ic;
NSLog(@"Student Form = %@", self.student.form);
self.formTF.text = self.student.form;
NSLog(@"Student Gender = %@", self.student.gender);
self.genderTF.text = self.student.gender;
NSLog(@"Student Birthday = %@", self.student.birthday);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
NSString *date = [dateFormatter stringFromDate:self.student.birthday];
self.birthdateTF.text = date;;
self.dateButton.titleLabel.text =date;
NSLog(@"Address = %@", self.student.address.street);
NSLog(@"Zip = %@", self.student.address.zip);
NSLog(@"City = %@", self.student.address.city);
NSLog(@"State = %@", self.student.address.state);
[self updateImageButton];
//Create a mutable array for guardians
NSSortDescriptor *sortDEscriptors = [[NSSortDescriptor alloc]initWithKey:@"firstname" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDEscriptors, nil];
NSMutableArray *sortedGuardians = [[NSMutableArray alloc] initWithArray:[self.student.guardians allObjects]];
[sortedGuardians sortUsingDescriptors:sortDescriptors];
self.guardiansArray= sortedGuardians;
[self.tableView reloadData];
}
我發現我的tableview在開始時沒有滾動。 但是當我在這部分中刪除[self.tableView reloadData]
時,它確實正常滾動。 有誰知道為什么? 我需要在這里放置[self.tableView reloadData]
,以便在編輯后更新數據。
將reloadData放在ViewDidAppear方法中,這樣您就可以在視圖出現之前設置數據,並在出現后請求重新加載。
您可以設置數據重新加載之前的偏移量
CGPoint offset = self.tableView.contentOffset;
[self.tableView reloadData];
[self.view layoutIfNeeded];
[self.tableView setContentOffset:offset animated:NO];
希望這會對某人有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.