Sono davvero bloccato qui. Vorrei ridurre la barra di navigazione quando scorro verso il basso un UITableView e lo ingrandisco di nuovo quando lo si scorre. Sono riuscito a modificare la dimensione della barra di navigazione, ma l'immagine del titolo non si sta riducendo con la barra di navigazione.Swift - Riduci barra di spostamento a scorrimento
Voglio fare esattamente come Safari, e il problema è che l'altezza del mio TitleView si sta restringendo, ma la larghezza non cambia mai.
Ecco il codice che ho utilizzato per modificare l'altezza della barra di scorrimento.
func scrollViewDidScroll(scrollView: UIScrollView) {
var navbar = navigationController?.navigationBar
var dir:CGPoint = tableview.panGestureRecognizer.translationInView(self.tableview)
var scrollViewHeight = tableview.frame.size.height
var scrollContentSizeHeight = tableview.contentSize.height
var scrollOffset = tableview.contentOffset.y
if (dir.y > 0 && self.formernavstate == "small") {
self.formernavstate = "big"
UIView.animateWithDuration(0.5, delay:0.0, options: UIViewAnimationOptions.AllowAnimatedContent, animations: {() -> Void in
println("")
navbar?.frame.origin.y = 20
self.navigationItem.titleView?.transform = CGAffineTransformMakeScale(0.52, 0.6)
}, completion: nil)
}
if (dir.y < 0 && self.formernavstate == "big") {
self.formernavstate = "small"
navbar?.frame.origin.y = 0
navigationItem.titleView?.transform = CGAffineTransformMakeScale(0.0001, 0.2)
}
}
Potresti aggiornare questo codice. Non sono abbastanza sicuro che stai confrontando il cgRect con l'operando, grazie. –