如何以编程方式用UIView替换UILabel

问题描述 投票:0回答:1

我有一个嵌套在StackView内的UILabel,我需要创建一个UIView,该UIView将在屏幕上占据与UILabel完全相同的位置,然后隐藏UILabel(这是UILabel的重要部分一个应用程序,因此,如果它是免费版本,则需要用锁定图标替换数据)。我下面的代码创建了视图,但是它的位置离标签所在位置的右下角很远。我该如何完成我想做的事情?

                let testView = UIView()
                testView.frame = CGRect(x: hrrLabel.frame.origin.x, y: hrrLabel.frame.origin.y, width: hrrLabel.frame.width, height: hrrLabel.frame.height)
                testView.backgroundColor = UIColor.red
                hrrLabel.isHidden = true
                hrrLabel.addSubview(testView)
ios swift uiview uilabel
1个回答
0
投票

您可以尝试将UIView添加到标签superView中,然后它不会被hrrLabel隐藏。

if let superview = hrrLabel.superView { superview.addSubView(testView) }

如果静止定位有问题,请尝试将该位置隐蔽到正确的参考视图。

https://developer.apple.com/documentation/uikit/uiview/1622498-convert

© www.soinside.com 2019 - 2024. All rights reserved.