2013-07-16 4 views
4

Я подклассы NSView и я добавил его к другой точке зрения, как это: был созданподклассы NSView не появляется в настраиваемое представление

clockT = [[CustomView alloc]initWithFrame:NSMakeRect(0, 0, 156, 155)]; 
[holderView addSubview:clockT]; 
[clockT setNeedsDisplay:YES]; 
clockT.tZone = @"Canada/Yukon"; 

мнение и добавил к holderView, но не видно. Это видно при изменении размера окна. Примечание: Я использую прозрачное окно.

+0

Вашему взгляду может потребоваться слой ... – Mikael

+1

показать больше HolderView и customView ... что вы отменили/что ваш init или drawRect –

+1

также обратите внимание на именование: не начинайте имена переменных с большой буквы –

ответ

1

Итак, вы используете прозрачный вид, который не был виден другим. Создайте окно с полным размером и создайте свои объекты и покажите, чтобы увеличить ширину захвата.

2

Существует пример приложения на Apple Developer Site, который может помочь вам в этом. В этом примере показано, как создавать окна с настраиваемыми формами, без заголовка и прозрачного содержимого.

+0

уже я используя такой класс !! –

1

Не видя больше кода, сложно сказать, что происходит. В этой теме есть несколько советов, которые могут вам помочь: https://stackoverflow.com/a/1503828/171933

Не может быть, что вы не называете это из основного потока? У вашего представления есть обычная реализация drawRect:? Не могли бы вы поставить контрольную точку там, чтобы посмотреть, какой размер имеет пропущенный прямоугольник? Правильный размер?

Что делать, если вы просто создаете ванильный NSView с, скажем, зеленым цветом фона и добавьте это в свой вид держателя? Это работает? Если это так, что-то не так с реализацией вашего CustomView.

Не видя больше кода, трудно определить проблему.

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