我對我的textViews有問題,因爲當它們出現時,總是出現滾動到底部,我在這裏讀到的是當textview有約束時出現的問題,並且解決方案將isScrollEnabled設置爲false,並在didAppear設置爲true,而是因爲我的TextView的上海華是細胞中的CollectionView,我不知道該怎麼BTW解決這個在集合視圖中有一個像doAppear的單元格嗎?
,我使用SWIFT 3和8的XCode
編輯:對不起,我沒有使用筆尖
我對我的textViews有問題,因爲當它們出現時,總是出現滾動到底部,我在這裏讀到的是當textview有約束時出現的問題,並且解決方案將isScrollEnabled設置爲false,並在didAppear設置爲true,而是因爲我的TextView的上海華是細胞中的CollectionView,我不知道該怎麼BTW解決這個在集合視圖中有一個像doAppear的單元格嗎?
,我使用SWIFT 3和8的XCode
編輯:對不起,我沒有使用筆尖
我建議覆蓋prepareForReuse
在單元格可見之前進行任何更改。
我剛剛解決了這個問題,但是我做了很多事情,我是ios編程的新手,我很不瞭解很多事情,但這是我做的。
要使textView在我的視圖控制器的collectionView頂部滾動,我在那裏搜索任何textView並找到它時,我設置contentOffset,爲第一個單元格使用viewdidlayoutsubviews,但對於其他單元格使用willDisplay和didEndDisplaying,使得如出一轍:
let container = collectionView.subviews[0].subviews for v in container { if let fView = v as? UITextView { fView.contentOffset = CGPoint(x: 0,y :0) } }
我進入細胞子視圖直接,並設置爲contentOffset,但關鍵是要重新裝入電池在cellForItemAt,就像這樣:
collectionView.reloadItems(at: [indexPath])
這就是它,我希望這有助於一個人,並感謝您的答案。
這對我不起作用 –
我認爲你發佈的解決方案看起來比它應該更復雜。不知道你創建單元格的方式,但我確定你可以很容易地引用你的UITextView,當準備重用單元格時,將它設置爲滾動到頂部,而不是做更改,然後重新加載cellForItem中的單元格,額外的工作。建議您檢查集合和表格視圖中單元格的生命週期。 –