     
     var isOnScreen = false {
         didSet {
+            if isOnScreen {
+                self.updateUI()
+            }
             isHidden = !isOnScreen
-            
-            if isOnScreen {
-                updateUI()
-            }
         }
     }
     

        if isToolbarActive {
            if tableView.contentOffset.y == -topInsetSmall {
                let offset = CGPoint(x: tableView.contentOffset.x, y: -topInsetLarge)
                tableView.setContentOffset(offset, animated: true)
            }
        } else {
            if tableView.contentOffset.y == -topInsetLarge {
                let offset = CGPoint(x: tableView.contentOffset.x, y: -topInsetSmall)
                tableView.setContentOffset(offset, animated: true)
            }
        }
        tableView.flashScrollIndicators()

        if diff > 0 {
            let offsetY = diff + Layout.magicNumber
            let bottomOffset = CGPoint(x: currentOffsetX, y: offsetY)
            tableView.contentOffset = bottomOffset
        }
    }
    
