ios - 观察属性内部属性的变化

标签 ios swift

我在想是否可以将 didSet 用于属性内的属性。

假设我有一个函数 resize() 每次 UILabeltext 属性设置为新值(value)。我尝试使用标签自己的 didSet,但它并没有像我预期的那样起作用。有没有办法做到这一点?

最佳答案

it didn't work, as I was expecting

你这是什么意思? didSet 适用于覆盖的属性。试试这个:

class MyLabel : UILabel {
    override var text : String? {
        didSet {
            resize()
        }
    }
    private func resize() {
        print("text is now \(text). resizing...")
        frame = CGRectMake(...
    }
}

关于ios - 观察属性内部属性的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892094/

相关文章:

ios - 我如何在我的项目中运行 XCTest 时发生运行时错误

ios - 使用 iOS Game Center Challenge 发送对象?

swift - 从 Apple TV Top Shelf 播放视频

ios - Apple Healthkit 和 Watch 模拟器

ios - 粒子 Sprite 在 alpha 为 0% 时稍微累积像素

ios - uiswipegesturerecognizerdirectionup 和 uinavigationcontroller 不工作?

swift - Firebase 注销在 Swift 中不起作用

swift - 为不同的设备创建不同的场景

swift - 将信息/详细信息添加到 TableView 行

ios - 使用两个键查询使用swift在解析中获取一个对象