Ich bin wirklich hier fest. Ich möchte die Navigationsleiste verkleinern, wenn ich einen UITableView nach unten scrolle und ihn beim Scrollen nach oben wieder vergrößere. Ich habe es geschafft, die Größe der Navigationsleiste zu ändern, aber das Titelbild schrumpft nicht mit der Navigationsleiste.Swift - Shrink Navigationsleiste auf Scroll
Ich möchte es genau wie Safari tun, und das Problem ist, dass die Höhe meiner Titelansicht schrumpft, aber die Breite ändert sich nie.
Hier ist der Code, den ich verwendet habe, um die Höhe der Bildlaufleiste zu ändern.
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)
}
}
Können Sie diesen Code möglicherweise aktualisieren? Ich bin mir nicht ganz sicher, ob Sie das cgRect mit dem Operanden vergleichen, danke. –