将 UIView 粘贴到屏幕顶部
Posted
技术标签:
【中文标题】将 UIView 粘贴到屏幕顶部【英文标题】:Stick UIView to top of screen 【发布时间】:2015-09-30 13:03:39 【问题描述】:我尝试。
我使用以下代码:
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之外 试过这个 - 没有效果:( 【参考方案1】:您可以将要粘贴到主视图或顶部布局指南的视图的约束添加到。这样就可以了
【讨论】:
从来没有想过这个简单的解决方案,它可以工作 XD 如果这不起作用,请确保设置所有其他视图的高度限制。以上是关于将 UIView 粘贴到屏幕顶部的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式将 UIScrollView 滚动到 Swift 中的子 UIView(子视图)的顶部