Swift - 滚动缩小导航栏

时间:2015-05-05 12:51:42

标签: ios swift uinavigationcontroller navbar uinavigationitem

我真的被困在这里了。当我向下滚动UITableView时我想缩小导航栏,并在向上滚动时再次放大它。我设法改变导航栏的大小,但标题图像没有缩小导航栏。

我想完全像Safari一样,问题是我的TitleView的高度正在缩小,但宽度永远不会改变。

这是我用来更改滚动条高度的代码。

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)
    }
}

1 个答案:

答案 0 :(得分:1)

我使用自定义“标题”实现了 Swift 3 版本,并根据@ chauhan的答案调整了它的高度限制:

soup = BeautifulSoup(data, "html.parser")
for da in soup.find_elements(text=re.compile(keyword)):
    print da.text