2017-10-19 222 views
0

我想要什麼 我嘗試在ScrollView中添加一個不可滾動的TableView,但是我失敗了,所以我需要你的幫助。 原因是我想擁有一個信息頁面,其中包含一些信息以及TableView中的用戶列表,以及TableView下面的一些其他UI元素。我只使用故事板,因爲我不喜歡以編程方式佈置視圖。如何正確地在UIScrollView中放置不可滾動的UITableView?

策略 頁面可以比屏幕窗口更長,因此是一個ScrollView,因此用戶可以向上滾動以顯示更多內容。爲了顯示用戶列表,我想使用TableView,這是我想到的第一件事,我認爲使用TableView是非常合理的。這個想法是,如果動態添加更多行,TableView增長的時間越長,並且該信息以某種方式傳遞迴ScrollView,然後輪到他調整高度。

測試 因此,我首先試驗並測試了一個包含動態文本的UITextView,它按預期工作。如果我在其中放入一些長文本,頁面可以上下滾動以顯示所有內容。但用TableView測試後,結果不是我想要的。我發現TableView有一個固定的高度,在添加行時似乎沒有動態變化。因此,TableView只顯示2行而不是10行,因爲TableView不會增長。我關閉了TableView的屬性'Scrolling Enabled',就像我爲UITextView所做的那樣。

問題
隨着更多行的添加,TableView不會增長。我不知道爲什麼,但我沒有添加高度約束來修復TableView的高度。那麼,爲什麼TableView不會增長?

圖片: ScrollView with TextView and TableView

來源爲一些教程:
https://www.natashatherobot.com/ios-autolayout-scrollview/ https://medium.com/rocknnull/ios-working-with-uiscrollview-uitextview-and-auto-layout-afa39fe2cac8 https://medium.com/disblu/scroll-view-auto-layout-in-xcode-8-7f43e82fe33

回答

1

您可以用單一的tableView實現這一目標。你需要做的是使用customCell。

怎麼辦?

根據您的設計,您共享的內容可以說您有三種不同類型的東西。

  1. 藍色單元(包含信息)
  2. 綠色細胞(我不知道它的目的。:))
  3. 用戶單元。

所以基本上你需要三種不同CustomCell和 在的cellForRowAtIndexPath方法調用是這樣的:

if(indexpath.row == 0) { 
    return BlueCell; 
    } 
else if(indexpath.row == 1) { 
    return GreenCell; 
} 
else { 
    return UserCell; 
} 

希望這有助於。:)

+0

這是一個解決方案,現在我將使用thnx。然而,我非常沮喪,我試圖完成的任務並不奏效,我不能放過它,感覺我浪費了很多時間,失敗了。 – AndaluZ

+0

如果有幫助,你能接受這個答案嗎? :) –

+0

這不是我的問題的確切答案,只是另一個解決方案,所以+1;) – AndaluZ

相關問題