2014-12-25 67 views
1

我有一個問題,我的UITableView無法滾動過去的最後一個單元格。它只是「反彈」回來。根據我運行的iPhone模擬,它會反彈回2個單元,所以如果我在3.5英寸的模擬器上運行它,最後2個單元不可達。如何滾動到UITableView底部查看所有單元格內容而不調整單元格高度?

我有約束設置AutoLayout啓用,這是我的要求。我已經看過一些關於SO的建議,嘗試一些解決方案,但到目前爲止,它不起作用。

如果可能,我不想設置單元高度。

enter image description here

enter image description here

在滾動狀態時,我向上滾動,我可以看到2層以上的細胞,但一旦我鬆開鼠標保持,它反彈回升至正常狀態與2最後細胞不在視野中。

如何讓UITableView在不調整高度的情況下在小窗口框架中滾動,仍然能夠看到所有單元格內容?

+0

什麼是你的tableView的框架? –

+0

我很抱歉,對此還是比較陌生的,我怎樣才能得到你所問的?我NSLog桌面視圖的框架:{{0,24},{600,576}} – Pangu

+0

是的,你必須確保你的框架是可見的,而我不清楚你的層次結構。 –

回答

1

幾個問題:

1.您設置的約束條件顯示警告。根據你的應用程序,你需要自己修復它;

2.由於約束的問題,底部單元格不可見。 在你swipeUpMethod方法中,你需要調整你的約束。在這種情況下,我將self.markerViewTopVerticalConstraint.constant設置爲-(self.view.frame.size.height/2.5) - 60。所以你需要根據tableView中顯示的單元格數量來計算約束高度。

- (void)swipeUpMethod 
{ 
    [self.view layoutIfNeeded]; 

    [UIView animateWithDuration:0.3 
       animations:^{ 
        self.markerViewTopVerticalConstraint.constant = -(self.view.frame.size.height/2.5) - 60; 
        [self.view layoutIfNeeded]; 
       }]; 
    self.swipeMarkerImageView.image = [UIImage imageNamed:@"down_arrow"]; 
    NSLog(@"self.markersView: %@",self.markersView); 
    NSLog(@"self.markersTableView :%@",self.markersTableView); 
} 

現在,它看起來像:

enter image description here

結婚聖誕節。

0

這是一個自動佈局問題。確保自動佈局設置正確。據我看到你的快照我可以理解,地圖視圖的高度是恆定的,並且表視圖的高度根據設備高度而變化。現在要正確設置自動佈局,選擇地圖視圖並添加以下約束,頂部,左側,寬度和高度。確保取消選中「限制邊距」。現在爲表格視圖使用以下自動佈局。添加頂部,底部左側和右側的約束。 之後,請檢查其他模擬器。 Hoppe這有助於。

+0

2個問題。 1:您是在談論「Google Map View」還是「Marker View?2」:在運行不同的模擬器時,設置寬度和高度的約束會導致衝突。 – Pangu

相關問題