从底部显示视图和选项

问题描述 投票:-1回答:1

当我导航到某个视图控制器时,我想从底部看一个像这样的选项...

我怎么能有这样的观点......? enter image description here

编辑1

我试图使用tableview而不是集合视图在链接中建议实现。这就是我所拥有的......

enter image description here

拖下视图给我这个观点......

enter image description here

但我来到视图,我不希望上滑视图覆盖视图的整个长度,但它应该只与第1个屏幕截图中给出的大小相同。我怎么能实现那个......?

ios swift uiview xib
1个回答
1
投票

假设您正在使用我在评论中发布的同一个github项目。

首先删除垃圾:文件 - > TDStickyView

  1. 奥特莱斯 @IBOutlet weak var viewLeft: UIView! @IBOutlet weak var viewRight: UIView! private var angel : CGFloat = 0
  2. 来自func viewSetup : : // DELETE THESE 2 LINES AND THESE FUNC TOO. self.setCursors() self.rotateView(addAngel: 0)
  3. 来自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) }

现在为cursorView添加约束,

  1. 对于左光标

enter image description here

  1. 对于右光标

enter image description here

现在项目很稳定,让我们谈谈你的要求。

  1. 在init上更改tableView的大小。

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.
  1. 完全隐藏TableView。

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

就这样。

© www.soinside.com 2019 - 2024. All rights reserved.