将视图显示为另一个视图前面的向上滑动手势

时间:2015-09-11 03:05:59

标签: ios swift xcode storyboard

您好我正在开发具有以下图片的UI的应用程序..

我无法理解如何创建底部向上滑动视图。 我尝试在底部视图上向上滑动手势以打开它。 但是我想用手指打开底部视图(意味着缓慢向上拖动视图应该缓慢地显示底部视图)

我正在使用自动布局和故事板。我如何实现这一目标?

我搜索了很多,但我得到了https://github.com/crocodella/PullableView,但我无法使用故事板和自动布局添加此视图。

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:5)

我只是想在解决方案之前说,这不会像你需要使用手势那样拖动效果...但是如果你强烈需要按钮点击它会给你类似的效果...我认为它不是什么你想要但是如果你想要的话,这会给你一个选择

要将底部视图拖到顶部,您可以使用手势,这可能会帮助您

  

Drag Down UIView in iOS 5

或者

  

http://www.jondev.net/articles/Dragging_View_with_Finger_(iPhone)

使用约束的constant属性获得了类似的效果。将高度约束赋予底视图并使用click事件的常量属性进行上下滑动。

仍然困惑!!!这是解决方案

用户界面设置

enter image description here

限制设置

enter image description here

之后你只需要制作一些插座并点击按钮事件......

  • 制作底视高度约束的出口
  • 按钮的出口将其标题更改为向上/向下
  • 制作并点击按钮事件

在此过程之后,您需要对按钮操作进行编码,因此这是代码

class ViewController: UIViewController {

   // Button outlet
   @IBOutlet weak var btnUp: UIButton! 

   // Height Constraint outlet
   @IBOutlet weak var constHeightBottomView: NSLayoutConstraint!

   // Boolean property to handle click
   var clicked = true

override func viewDidLoad() {
    super.viewDidLoad()
    // 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.
}

@IBAction func btnUpClicked(sender: UIButton) {
    if clicked{
        self.clicked = !clicked
        UIView.animateWithDuration(0.2, animations: {
            self.btnUp.setTitle("Down", forState: .Normal)
            self.constHeightBottomView.constant = 200
            self.view.layoutIfNeeded()
        })

    }
    else{
        self.clicked = true

        UIView.animateWithDuration(0.2, animations: {
            self.btnUp.setTitle("Up", forState: .Normal)
            self.constHeightBottomView.constant = 0
            self.view.layoutIfNeeded()
        })
    }
}

}

,这项工作的输出将是

enter image description here