1

Моя пользовательская кнопка ниже отлично работает на iOS Simulator - когда я устанавливаю поворот в Interface Builder, он поворачивает кнопку при запуске приложения.@ BIInspectable не обновляется История совета

Тем не менее, я не вижу вращения в Story Board - он просто показывает кнопку без применения преобразования.

Не имеет значения, выполняю ли преобразование внутри метода 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

Я думаю, что это с уверенностью сказать, "Это @IBDesignableBug в Xcode 7.1.1"

Потому что:

  1. Запуск проекта делает показать CGAffineTransform с заданным вращением.
  2. Если borderWidth, borderColor и т. Д. Изменены в этом блоке didSet, это отображается в Storyboard правильно.
  3. Я не мог найти что-нибудь в сайте разработчика яблока, что говорит преобразование не будет работать для @IBDesignable
+0

Думаю, я должен согласиться с тобой. Я опубликовал отчет об ошибке с Apple, поэтому, возможно, они исправит это. – henrikstroem

+0

Кажется, что Xcode 8.3.1 делает то же самое. :] –

Смежные вопросы