2012-12-23 48 views
5

編輯
這是發生了什麼,所以你可以看到:http://youtu.be/v1HrxYhzJZY。我有一個UITableView與5節和12個單元格。這種觀點開設有push segue,一切工作正常,它滾動等不能滾動的UITableView到底

三這些細胞的打開MKMapView視圖(通過push segue)另一彈出一個MFMailComposeViewController

當我嘗試返回到我的UITableView我不再能夠滾動到底部。我只能滾動,然後它返回到我的tableview的頂部。

我試圖設置viewWillAppear的幀大小,我試圖重新加載tableView,但它不工作!
什麼可能導致此問題?

編輯
我的實現是:

- (void)viewDidLoad { 
    loaded = NO; 

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"my_url", self.userID]]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 
     loaded = YES; 

     self.user = JSON; 
     [self setUserValues]; 

     [self.tableView reloadData]; 

    } failure:nil]; 

    [operation start]; 

    [super viewDidLoad]; 
} 

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    [self.tableView setContentSize:CGSizeMake(320, 420)]; 
} 
+0

提供以下信息可能會有用:1)您提到您無法滾動到底部,您可以滾動嗎?除了表格視圖底部的部分之外,您是否可以滾動大部分方式? 2)你在表視圖的視圖控制器中的'viewWillAppear'和'viewDidAppear'方法實現。 –

+0

已更新問題 – jan267

+0

爲什麼要設置內容大小? –

回答

7

我解決了這個問題,我自己用這個簡單的代碼:

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    [self.tableView reloadData]; 
} 

還是要謝謝你!

1

使用下面的代碼添加到您的tableView滾動到所需的部分/行:

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:desiredRow inSection:desiredSection] atScrollPosition:UITableViewScrollPositionTop animated:NO]; 
5

viewWillAppear:方法是太早滾動表視圖。該視圖尚未添加到屏幕視圖層次結構中並進行了佈局。試試viewDidLayoutSubviews

+0

謝謝,我試過了,但它仍然不起作用。 – jan267

0

要滾動的tableView,從UIScrollView繼承,你需要使用[self.tableView setContentOffset:CGPointMake(0,100) animated:YES];而不是setContentSize

1

我也經歷過這個。從子視圖回來,表視圖不再可滾動(它總是會彈回到頂部)。我的子視圖沒有類似你的地圖視圖。

重新加載表視圖沒有解決它適合我。

的錯誤只顯示在iOS的7,而不是6.1。

我訪問topLayoutGuide ...移除訪問(只是一個屬性閱讀!)固定的問題。 WTF!必須是一個神奇的財產。

0

我也是昨天遇到了這個問題!我剛纔修好了!

我拖着一個UITableView的UIViewController的,只是選擇了add missing contraints。當我運行應用程序時,UITableView無法滾動到底部。

我GOOGLE了它,看到a similar question in Stackoverflow

然後我檢查了UITableView的約束條件,發現有一個約束爲UITableView設置了固定的高度。然後我刪除了這個限制並添加了另一個:Bottom Space to: Bottom Layout Guide = 0

該解決方案適用於我。