我需要添加或從導航欄刪除項目當用戶,所以我必須改變屏幕上的代碼,如:ButtonBarPagerTabStripViewController updateIndicator toIndex是錯誤
override func updateIndicator(for viewController: PagerTabStripViewController, fromIndex: Int, toIndex: Int, withProgressPercentage progressPercentage: CGFloat, indexWasChanged: Bool) {
super.updateIndicator(for: viewController, fromIndex: fromIndex, toIndex: toIndex, withProgressPercentage: progressPercentage, indexWasChanged: indexWasChanged)
if indexWasChanged {
if toIndex == 2 {
rightBtn.alpha = 1
} else {
rightBtn.alpha = 0
}
}
}
rightBtn簡直就是我的導航右端的按鈕酒吧。
但是在我的測試運行,我注意到的是,如果用戶點擊該按鈕欄,而不是滑動來改變屏幕的的fromIndex元素範圍是錯誤的。它仍然是最後一次更改的值。 例如當用戶從第三個屏幕滑動到第二個屏幕時,fromIndex將爲2並且指向1,但是如果用戶點擊了欄上的第三個按鈕,即使期望位於1 toIndex,fromIndex仍然是2也將保持在1,即使現在它應該是2. 這導致我的rightBtn不顯示用戶是否從第三個屏幕上滑動,然後輕敲條回到第三個。
有沒有辦法這樣的場景中,以獲得正確的toIndex還是可以解決嗎?
第一部分是錯誤部分,我通過直接在barbutton攻導航,沒有指針的第二部分是導航用精品工程滑動,圖標只是假設出現在三標籤
可以添加視頻或gif爲更好地瞭解 –
@jigneshVadadoriya我說我的測試運行的屏幕頂蓋,任何想法如何解決這個問題? –