登天神功背後的原理很簡單。iOS裡可以垂直捲動的物件,都有著登天神功。所以當我們點選status bar時,它們將瞬間返回起點,不敢稍作停留。
然而,世事豈能竟如人意。當畫面上只有table view時,點選status bar自動返回表格的開頭是天經地義。但當畫面上同時有table view和text view時,兩個同樣精通垂直捲動的強者相爭。此時可不是兩虎相爭,必有一傷,而是兩敗俱傷。此時點選status bar,畫面將如同定格般毫無回應,因為公正的系統無法決定該讓誰登天,該讓誰返回原點。如下圖所示,畫面上的表格(table view) 有2個cell,第一個cell是鋼琴小王子V.K克的照片,第二個cell是粉絲想對V.K克說的話( text view)。當我們將表格往下滑動,輸入感性留言後,點選status bar時,登天神功有如被封印般,不再作用了。
就像情人節只能和一個人過,畫面上只有一個物件能夠登天。想要讓table view登天,其實很簡單,只要將其它相爭敵人的scrollsToTop屬性設為NO即可。
textView.scrollsToTop = NO;
說明:
scrollsToTop為UIScrollView的property,當它設為YES時,即表示此物件能夠登天,這也是為何繼承自UIScrollView的UITableView,UITextView能夠登天的原因。當我們將scrollsToTop設為NO,即廢了其登天神功。唯有當畫面上只有一個物件的scrollsToTop為YES時,系統才能毫不猶豫地選出登天的對象。
再一次地點選status bar,登天神功再度發威,我們終於看到V.K克彈琴的認真神情了!
沒有留言:
張貼留言