gpt4 book ai didi

ios - UILabel 在圆形自定义 UIView 中不可见

转载 作者:行者123 更新时间:2023-11-30 14:12:11 24 4
gpt4 key购买 nike

我的 View 层次结构如下所示,我有一个 UITableViewController -> 静态单元 -> UITableViewCell -> 自定义 UIView -> UILabel

我的目标是显示圆形个人资料 ImageView ,最后一个 View 显示剩余图像数量的计数。

这就是我创建一个工作完美的圆形 View 的方法

private func getCircularViewForPoint(point: CGPoint) -> UIView {
var circularView: UIView = UIView(frame: CGRect(x: point.x, y: point.y, width: 30, height: 30))
circularView.layer.cornerRadius = 15
circularView.layer.masksToBounds = true

circularView.backgroundColor = UIColor.blueColor()

return circularView
}

所以现在我想创建这样一个带有 UILabel 的 View

private func getCircularCountViewForPoint(point: CGPoint, maxAmount: Int) -> UIView {
var circularView = self.getCircularViewForPoint(point)
circularView.backgroundColor = UIColor.brownColor()

var label: UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
label.center = circularView.center
label.text = "XY"
label.font = UIFont.systemFontOfSize(10.0)
label.textAlignment = NSTextAlignment.Center

// self.addSubview(label) // This works but label is now behind circularView of course

circularView.addSubview(label)

return circularView
}

结果如下所示,棕色 View 中没有 UILabel。

The UILabel is not visible inside the brown UIView

circularView的框架: <UIView: 0x7feb28fd9d50; frame = (295 24.75; 30 30); clipsToBounds = YES; ...

label的框架: <UILabel: 0x7feb28ce33b0; frame = (295 24.75; 30 30); userInteractionEnabled = NO; ...

奇怪的是,如果我将此代码放入 Playground ,它会按预期工作并且标签可见。

为了完整起见,这就是我调用这两个函数的方式

for var i = 0; i < maxAmount-1; i++ {
self.addSubview(self.getCircularViewForPoint(CGPoint(x: xPos, y: yPos)))
xPos += size+offset
}

// add count view
var countView = self.getCircularCountViewForPoint(CGPoint(x: xPos, y: yPos), maxAmount: maxAmount)
self.addSubview(countView)

最佳答案

由于您的目标是显示个人资料图片,我会尝试用图片替换棕色背景:

    circularView.backgroundColor = UIColor(patternImage: UIImage(named: "profilepicturename.png")!)

抱歉,我无法帮助解决标签问题

关于ios - UILabel 在圆形自定义 UIView 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com