2015-01-02 2 views
2

Я создал простой вид, который покажет некоторый контент AVPlayer, или если это не существует (начальное состояние), нарисуйте заставку.IB_DESIGNABLE draw image

Я добавил директиву IB_DESIGNABLE и рисую изображение всплеска в drawRect. Однако в Interface Builder компонент отображается как черный квадрат. Я бы хотел, чтобы он рисовал изображение. Это возможно?

Во время работы все работает нормально.

ответ

2

Чтобы выяснить, что происходит в версии IB для реализации вашего drawRect:, я бы рекомендовал отладить, как ваше представление ведет себя с IB, используя отладчик.
Для этого выберите ваш вид в IB, а затем используйте пункт Debug Selected Views из меню Editor в XCode. Установив точку останова в drawRect:, вы должны понимать, что происходит, и почему вы получаете черный квадрат.

+0

Я решил это, но забыл, что я спросил об этом. Оказалось, что изображение было ноль во время прохождения IB в drawRect. Настройка изображения через IB помогла. Полезная информация все равно –

1

Для справки вы можете установить собственные переменные в IB (например, ваши изображения), используя ключевое слово IBInspectable, f.e. как:

IB_DESIGNABLE 
@interface MyCustomControl : UIView 
{ 
    IBInspectable UIImage *myImage; 
    ... 
} 
... 
@end 

Для получения дополнительной информации прочитайте эту awesome blog где я обнаружил, что ключевое слово (я искал что-то подобное, что довольно долгое время).