收缩UITableView - >黑色背景

时间:2015-02-27 16:09:59

标签: ios uitableview swift uiviewanimation

我在屏幕外创建一个UIDatePicker,当按下一个按钮时,我希望它滑入屏幕(从下面)。 为了给它足够的位置,我希望UITableView(在UITableViewController里面)在y轴上缩小。

它有点工作,但UITableView的缩小显示黑色背景,因此不显示UIDatePicker。我该如何解决这个问题?

看起来像这样:

enter image description here

import UIKit

class jSONTableViewController: UITableViewController {



    @IBAction func viewDatePicker(sender: UIButton) {
        // Create DatePicker
        let datePicker = UIDatePicker()
        datePicker.center.y = self.view.bounds.height+100
        datePicker.backgroundColor = UIColor.whiteColor()
        datePicker.datePickerMode = UIDatePickerMode.Date
        self.view.insertSubview(datePicker, aboveSubview: self.view)



        // Animate View
        UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseInOut, animations: { () -> Void in
            let heightOfDatepicker = datePicker.frame.height
            datePicker.center.y = self.view.frame.height-(heightOfDatepicker)
            self.tableView.frame = CGRectMake( self.tableView.frame.origin.x,  self.tableView.frame.origin.x,  self.tableView.frame.size.width, self.tableView.frame.height-heightOfDatepicker)

        }, completion: nil)


    }






    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

2 个答案:

答案 0 :(得分:0)

您正在使用UITableViewController,其中超级视图是表视图。因此,当您调整表格视图的大小时,您还会重新显示显示窗口背景的超级视图。

您可以创建UIViewController并将表视图添加为子视图,您也需要符合UITableViewDelegate和UITableViewDataSource。

答案 1 :(得分:0)

我认为你最好的选择是使用第一响应者从底部调出一个选择器。大部分都是为你完成的,你只需要做一些布线。这相当于键盘的工作方式,但使用了选择器和可选按钮。

今天在这里讨论如何做到最好:Add buttons to UIPickerView - Swift 1.2

这有一些快捷的代码,你可以解除它们的使用。