簡體   English   中英

iOS 6:[self.tableview重載數據]禁用滾動?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM