Swift中没有项目时的视图而不是Tableview

时间:2015-02-26 14:35:04

标签: ios swift storyboard

我想做类似app Clock的事情。

我有一个动态加载的tableview。

我想在没有项目可用时添加带有文本消息的视图而不是空的tableview。

我使用了actionSheet来指示什么时候没有可用的项目,它可以工作,但我更希望在应用程序时钟中显示带有文本消息的视图。

你知道如何继续吗?

    override func viewWillAppear(animated: Bool) {

    // get the destinations data ... 


    if (destinations.count<1){

        var myActionSheet: UIActionSheet = UIActionSheet()
        let title: String = NSLocalizedString("DestinationsMsg", comment: "")
        myActionSheet.title  = title
        myActionSheet.delegate = self;
        myActionSheet.addButtonWithTitle("Cancel")
        myActionSheet.addButtonWithTitle("Add a Destination")
        myActionSheet.cancelButtonIndex = 0
        myActionSheet.showInView(self.view)


    }

    super.viewWillAppear(true);

}

这是解决方案,即使我对标签的位置并不完全满意。

       else {


        var bounds: CGRect = UIScreen.mainScreen().bounds
        var width:CGFloat = bounds.size.width
        var height:CGFloat = bounds.size.height

        var view1 = UIView()

        let label = UILabel(frame: CGRect(x: 0, y: height / 4, width: width, height: 40))
        label.textColor =  UIColor(red: 160/255, green: 160/255, blue: 160/255, alpha: 1.0)
        label.font = UIFont.boldSystemFontOfSize(26.0)
        label.textAlignment = NSTextAlignment.Center
        label.text = "No Destination"

        view1.addSubview(label)

        tableView.tableHeaderView = view1


    }

1 个答案:

答案 0 :(得分:1)

当没有要显示的行时,将表格视图的tableHeaderView设置为占位符视图。当有要显示的行时,将tableHeaderView设置为nil