首页 > 解决方案 > 表格视图控制器上的粘性 UILabel

问题描述

我正在尝试在 tableview 控制器上创建一个粘性 uilabel。但不幸的是,它与 tableview 一起移动。

func showinvisible() {
        var uzak = CGFloat()
        if UIDevice().userInterfaceIdiom == .phone {
            switch UIScreen.main.nativeBounds.height {
            case 1136:
                uzak = 120
            case 1334:
                uzak = 120
            case 1920, 2208:
                uzak = 120
            case 2436:
                uzak = 250
            default:
                print("unknown")
            }
        }
        let screenSize: CGRect = UIScreen.main.bounds
        self.dynamicLabel.frame = CGRect(x:0, y:screenSize.height - uzak, width:screenSize.width, height:80)
        self.dynamicLabel.backgroundColor = UIColor.orange
        self.dynamicLabel.textColor = UIColor.white
        self.dynamicLabel.textAlignment = NSTextAlignment.center
        self.dynamicLabel.text = NSLocalizedString("You are currenly invisible", comment: "")
        self.dynamicLabel.font = self.dynamicLabel.font.withSize(12)
        self.view.addSubview(self.dynamicLabel)
        self.view.bringSubview(toFront: self.dynamicLabel)
    }

我需要它留在屏幕底部。任何想法?

标签: iosswiftuitableview

解决方案


一个很好的方法是使用容器视图控制器。将您UIViewController的标签作为子视图,并将其UITableViewController作为子视图控制器。

这具有分解大视图控制器的额外好处。例如,您可以在父级中获取数据的逻辑,而让子级处理演示文稿。

这很容易在故事板中配置……</p>

在此处输入图像描述

在此处输入图像描述


推荐阅读