当我导航到某个视图控制器时,我想从底部看一个像这样的选项…
我怎么能有这样的观点……? 编辑1我试图按照链接中的建议使用…
假设您正在使用我在评论中发布的同一个github项目。
TDStickyView
奥特莱斯
@IBOutlet weak var viewLeft: UIView! @IBOutlet weak var viewRight: UIView! private var angel : CGFloat = 0
从 func viewSetup
func viewSetup
: : // DELETE THESE 2 LINES AND THESE FUNC TOO. self.setCursors() self.rotateView(addAngel: 0)
从 handleGesture
handleGesture
if aNewOrigin.y <= 60 { self.rotateView(addAngel: .pi/8) } else if aNewOrigin.y >= 60 && aNewOrigin.y < self.frame.height - 100 { self.rotateView(addAngel: 0) } else { self.rotateView(addAngel: -.pi/8) }
在 viewSetup 更改
viewSetup
//topMostY = UIApplication.shared.statusBarFrame.height topMostY = parentVC.view.center.y // It is the top most Y position of tableview and it can't go above it. Change it according to your requirement.
在 handleGesture 更改
else if sender.state == .ended { self.panGestureColView.isEnabled = false if velocity.y > 0 { // go down // UIView.animate(withDuration: 0.3) { // self.frame = CGRect(origin: CGPoint(x: 0, y: self.parentFrame.size.height - self.bottomMostY), size: self.frame.size) // } // Change above commented UIView.animate with below UIView.animate UIView.animate(withDuration: 0.3, animations: { self.frame = CGRect(origin: CGPoint(x: 0, y: self.parentFrame.size.height), size: self.frame.size) }) { (isFin) in self.removeFromSuperview() } } else if velocity.y < 0 { // go up UIView.animate(withDuration: 0.3) { self.frame = CGRect(origin: CGPoint(x: 0, y: self.topMostY), size: self.frame.size) } } }
就这样。