为什么不将CALayer添加到UITextView

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

我有一个文本视图,我试图在其下添加一行。我正在尝试使用CALayer完成此操作,但是它没有显示在textView中。如果有人可以帮助我,我将不胜感激。代码如下。

let border = CALayer()
        border.backgroundColor = UIColor(hexString: "#CC0000").cgColor
        border.frame = CGRect(x: 0, y: messageField.frame.height - 3, width: messageField.frame.width, height: 3)
        messageField.layer.addSublayer(border)
swift xcode
1个回答
0
投票

在我的测试应用中,我只是尝试过此操作:

    let messageField = UITextView(frame: CGRect(x: 30, y: 40, width: view.frame.width - 60, height: 40))
    var border = CALayer()
    border.backgroundColor = UIColor.red.cgColor
     border.frame = CGRect(x: 0, y: messageField.frame.height - 3, width: messageField.frame.width, height: 3)
     messageField.layer.addSublayer(border)

    view.addSubview(messageField)

而且效果很好。奇怪但很好。颜色显示没有问题,但是它随文本视图一起滚动。但这可能就是您想要的。我也尝试了不同高度的消息字段。我无法让它不显示。

如果您希望它正常工作并且该行不随文本滚动,请尝试以下答案:https://stackoverflow.com/a/38327895/793607

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