2015-11-05 102 views
1

我的自定义按钮在iOS模拟器上正常工作 - 当我在界面生成器中设置旋转时,它会在运行应用程序时旋转按钮。@IBInspectable不更新故事板

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

如果我在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) { 
     // ... 
    } 
} 
+0

检查这方面的工作什么:https://stackoverflow.com/questions/26674111/ib-designable-ibinspectable-interface-builder -does-not-update?rq = 1 –

+0

@uraimo我在发布我的问题之前看到了这个,但是我的Xcode已经自动更新了。 – henrikstroem

回答

2

我认为它是安全的,说 “这是@IBDesignable错误Xcode 7.1.1

因为:

  1. 运行项目确实显示了CGAffineTransform与任意的旋转。
  2. 如果borderWidth,borderColor等在此didSet区块中发生更改,它将正确显示在Storyboard中。
  3. 我找不到在苹果开发者网站,上面写着转型不会为@IBDesignable
+0

我想我必须同意你的意见。我已经向苹果提交了一个错误报告,所以他们可能会修复它。 – henrikstroem

+0

似乎Xcode 8.3.1的确如此。 :] –