2015-02-06 89 views
2

我試圖在導航欄的後面添加UIImageView
原因是因爲我想創建一個導航欄實際上是一個圖片(後退按鈕在左邊)的UITableView,但我希望圖片能夠隨tableview一起滾動並且圖片完全滾動出來。導航欄按照常規顯示。
我對此問題的解決方案:
UIImageView添加到UITableView的頂部,並使導航欄顯示爲透明。爲UITableView設置一個contentOffset,該UITableViewUIScrollView的子類,以便在顯示視圖時,看起來圖片正在填充導航狀態欄。
When the view is shown, it is exactly what I want. 問題:
如果我向上滾動,而不是彈回,將透明狀態欄被示出(用,因爲它是透明的背景的顏色)。
If I scroll up, instead of bouncing back, I see the transparent navigation bar. 可能的方式來解決這個新問題:
我想試圖限制ScrollView大小與問題得到解決,但失敗了。
所以我覺得有可能將UIImageView添加到導航欄的「後面」,以便它沒有任何偏移?從那以後,我的生活將會變得更加輕鬆。
有關解決這個問題或其他新方法以獲得相同UI /效果的任何建議?
相關question.將UIImageView添加到NavigationBar的背面(不是背景圖片)

+0

您可以將圖像視圖添加爲導航標題視圖的子視圖 – 2015-02-06 17:26:25

+0

@JadFeitrouni但是,如果我向下滾動,圖像將始終在那裏?我希望圖像在屏幕上滾動時由普通標題替換。 – Ra1nWarden 2015-02-06 17:31:51

+0

是的你是對的,現在我得到你想要做的。 – 2015-02-06 17:35:04

回答

1

我會通過在表格頂部添加表格標題或單元格來完成此操作,該表格包含圖像。

創建表視圖,以便它一直延伸到屏幕的頂部。在頂欄之下延伸選項。我還沒有用UITableViewController這樣做過,但我已經在UIViewController的視圖中嵌入了UITableView,頂部約束設置爲0,而不是頂部佈局指南。

現在,當你運行這個表時,你的桌子將填滿整個屏幕,頂部的標題或單元格將在頂部顯示你的圖片。

滾動時,你既可以使用UIScrollViewDelegate來檢測運動或實施tableView:didEndDisplayingCell:forRowAtIndexPath:

我不知道,當你想導航欄去無明確的100%。如果它的圖像在屏幕上顯示,那麼didEndDisplayingCell應該是好的。如果當單元格底部通過導航欄底部時,則滾動視圖可能是您唯一的選擇。

這樣也會像您期望的那樣反彈,當您拉下時它會回彈到頂部。

希望這會有所幫助。

+0

感謝您的見解。我用'UITableViewController'完成了這個技巧,只需勾選視圖控制器檢查器中的Adjust Scroll View Insets即可。現在就像魔術一樣! – Ra1nWarden 2015-02-06 21:22:05