@IBInspectable 不更新故事板

Posted

技术标签:

【中文标题】@IBInspectable 不更新故事板【英文标题】:@IBInspectable not updating Story Board 【发布时间】:2015-11-05 13:10:03 【问题描述】:

下面的自定义按钮在 ios 模拟器上运行良好 - 当我在 Interface Builder 中设置旋转时,它会在我运行应用程序时旋转按钮。

但是,我在故事板中看不到旋转 - 它只是显示按钮而不应用转换。

如果我在 drawRect 方法内进行转换并不重要 - 结果相同。

import Foundation
import UIKit


@IBDesignable class CustomButton: UIButton 

    @IBInspectable var rotation: CGFloat = 0.0 
        didSet 
            self.transform = CGAffineTransformMakeRotation(CGFloat(rotation))
        
    

    override func drawRect(rect: CGRect) 
        // ...
    

【问题讨论】:

检查这个:***.com/questions/26674111/… @uraimo 我在发布我的问题之前看到了这个,但是我的 Xcode 已经自动更新了。 【参考方案1】:

我认为可以肯定地说“这是@IBDesignable Bug in Xcode 7.1.1

因为:

    正在运行的项目确实会显示具有给定旋转的CGAffineTransform。 如果borderWidthborderColor 等在此didSet 块中发生更改,它会正确显示在Storyboard 中。 我在苹果开发者网站上找不到任何说转换不适用于@IBDesignable

【讨论】:

我想我必须同意你的看法。我已经向 Apple 提交了错误报告,所以也许他们会修复它。

以上是关于@IBInspectable 不更新故事板的主要内容,如果未能解决你的问题,请参考以下文章

故事板不显示从 git 更新项目后所做的更改

在 Objective C 扩展中使用 IBInspectable setter 进行 StoryBoard 本地化

XCode 8 不正确的背景颜色 - 故事板更新的颜色空间

未反映在本地化故事板中的基本故事板更改

Xcode 6.4 故事板崩溃

用于应用扩展的 IB 故事板:iPad 图标不存在、尺寸不变、方向不工作