Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何隐藏UILabel Swift:当Label设置为hidden时,Label正在表视图控制器中创建空间_Ios_Swift_Uitableview_Uilabel - Fatal编程技术网

Ios 如何隐藏UILabel Swift:当Label设置为hidden时,Label正在表视图控制器中创建空间

Ios 如何隐藏UILabel Swift:当Label设置为hidden时,Label正在表视图控制器中创建空间,ios,swift,uitableview,uilabel,Ios,Swift,Uitableview,Uilabel,我正试图隐藏UILabel 我在脚本中使用了一个表视图控制器,它包含UIlabel,TableView,分段控件 我有两个类别,一个是数据&空数据 当用户单击数据->数据应显示在TableView中,标签应隐藏 当用户点击清空->数据应该隐藏&标签应该出现 我可以这么做。。。但Label在这里遇到了一个问题(它正在制造一个缺口) 问题: 当有数据时,标签在表视图顶部创建间隙 问题: 隐藏标签时如何删除标签 我想在视图的中心显示标签(用户友好) 屏幕截图: 模拟器: 代码: 您可以更改ui标

我正试图隐藏
UILabel

我在脚本中使用了一个表视图控制器,它包含
UIlabel
TableView
分段控件

我有两个类别,一个是数据&空数据

当用户单击数据->数据应显示在TableView中,标签应隐藏

当用户点击清空->数据应该隐藏&标签应该出现

我可以这么做。。。但Label在这里遇到了一个问题(它正在制造一个缺口)

问题:

当有数据时,标签在表视图顶部创建间隙

问题:

  • 隐藏标签时如何删除标签

  • 我想在视图的中心显示标签(用户友好)

  • 屏幕截图:

    模拟器:

    代码:


    您可以更改
    ui标签
    帧高度,如下所示,这将解决您的问题

    func editLabelHeight(edit: Bool) {
            if edit {
                var labelFrame = noDataLabel.frame
                labelFrame.size.height = 0
                noDataLabel.frame = labelFrame
            }
            else {
                var labelFrame = noDataLabel.frame
                labelFrame.size.height = 44
                noDataLabel.frame = labelFrame
            }
        }
    
    视图中加载
    

    iAction

    @IBAction func segmentButtonPressed(_ sender: UISegmentedControl) {
            if sender.selectedSegmentIndex == 0 {
                if rowValues.isEmpty {
                    noDataLabel.isHidden = true
                    editLabelHeight(edit: true)
                    rowValues = [["First","Second","Three"],["four","five","six"]]
                }
            } else {
                rowValues.removeAll()
                editLabelHeight(edit: false)
                noDataLabel.isHidden = false
            }
            tableView.reloadData()
        }
    

    您可以更改
    ui标签
    帧高度,如下所示,这将解决您的问题

    func editLabelHeight(edit: Bool) {
            if edit {
                var labelFrame = noDataLabel.frame
                labelFrame.size.height = 0
                noDataLabel.frame = labelFrame
            }
            else {
                var labelFrame = noDataLabel.frame
                labelFrame.size.height = 44
                noDataLabel.frame = labelFrame
            }
        }
    
    视图中加载
    

    iAction

    @IBAction func segmentButtonPressed(_ sender: UISegmentedControl) {
            if sender.selectedSegmentIndex == 0 {
                if rowValues.isEmpty {
                    noDataLabel.isHidden = true
                    editLabelHeight(edit: true)
                    rowValues = [["First","Second","Three"],["four","five","six"]]
                }
            } else {
                rowValues.removeAll()
                editLabelHeight(edit: false)
                noDataLabel.isHidden = false
            }
            tableView.reloadData()
        }
    

    您使用的是自动布局吗?@Md.MuzahidulIslam否,我没有使用自动布局您使用的是自动布局吗?@Md.MuzahidulIslam否,我没有使用自动布局