如何在UIPickerView(swift 2.0)中添加两个按钮来添加UIToolbar?

时间:2016-07-01 10:25:54

标签: ios swift uibarbuttonitem uitoolbar

我想在UIPickerView中添加两个UIButtons(在它的底部)。请查看此图片中的取消和完成按钮:

enter image description here

这里我的代码上传: -

class DatePicker{

var containerView = UIView()
var datePicker = UIView()
var datePickerView = UIDatePicker()
var toolBar = UIToolbar()
internal class var shared: DatePicker {
    struct Static {
        static let instance: DatePicker = DatePicker()
    }
    return Static.instance
}
internal func showProgressView(view: UIView) {
    containerView.frame = view.frame
    containerView.center = view.center
    containerView.backgroundColor = UIColor(hex: 0xffffff, alpha: 0.3)
    datePickerView.datePickerMode = .Date
    datePicker.frame = CGRectMake(0, 0, 250, 250)
    datePicker.center = view.center
    datePicker.backgroundColor = UIColor(hex: 0x444444, alpha: 0.7)
    datePicker.clipsToBounds = true
    datePicker.layer.cornerRadius = 10
    datePickerView.setValue(UIColor.whiteColor(), forKeyPath: "textColor")
    datePickerView.frame = CGRectMake(0, 0, 250, 250)
    datePicker.addSubview(datePickerView)
    containerView.addSubview(datePicker)
    view.addSubview(containerView)
}
internal func hideProgressView() {
    containerView.removeFromSuperview()
}

}

我如何获得UIToolbar和两个按钮?

1 个答案:

答案 0 :(得分:0)

我建议使用工具栏和选择器视图制作.xib。在条上放置两个条形按钮,并在它们之间放置一个条形按钮垫片。

Link on how to use a xib

如果你在屏幕外启动它的帧并使用此功能在屏幕上移动它,你可以让它的动画看起来很棒。

UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: .CurveEaseInOut, animations: {
        if viewToMove != nil {
            viewToMove!.frame.origin.y/*orX*/ = onScreenPosition
        } else {
            "sidePanel == nil"
        }
}, completion: completion)
如果你不想在动画中反弹,可以将 usingSpringWithDamping设置为1。如果这是用于iPhone,我建议将初始帧等同于

CGRectMake(0, UIScreen.mainScreen().bounds.height, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height/2)

然后移动线的视图将变为

viewToMove!.frame.origin.y = UIScreen.mainScreen().bounds.height/2

使用上一个功能将其带到屏幕上

viewToMove!.frame.origin.y = UIScreen.mainScreen().bounds.height

将其移出屏幕。您可以通过几种不同的方式访问xib的按钮,但我建议使用委托。

Here is a guide to them.

如果你不熟悉它们,我会熟悉,因为它们非常有用!如果您有任何疑问,请不要犹豫!