【问题标题】:Stick UIView to top of screen将 UIView 粘贴到屏幕顶部
【发布时间】:2015-09-30 13:03:39
【问题描述】:

我尝试将 UIView 粘贴到屏幕顶部。

我使用以下代码:

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {

var navigationBarOriginalOffset : CGFloat?

@IBOutlet weak var navigationBar: UIView!
@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()
    scrollView.delegate = self
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    navigationBarOriginalOffset = navigationBar.frame.origin.y
}

func scrollViewDidScroll(scrollView: UIScrollView) {
    navigationBar.frame.origin.y = max(navigationBarOriginalOffset!, scrollView.contentOffset.y)
    print("did scroll")
}
}

但视图不粘,它与滚动视图一起滚动。

我怎样才能让它坚持下去?

【问题讨论】:

  • 我认为在情节提要中您已将 UView 作为子视图添加到 Scrollview。把它放在Scrollview之外
  • 试过这个 - 没有效果:(

标签: ios swift uiview uiscrollview


【解决方案1】:

您可以将要粘贴到主视图或顶部布局指南的视图的约束添加到。这样就可以了

【讨论】:

  • 从来没有想过这个简单的解决方案,它可以工作 XD
  • 如果这不起作用,请确保设置所有其他视图的高度限制。
猜你喜欢
  • 2020-12-13
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 2015-02-13
  • 1970-01-01
相关资源
最近更新 更多