2008-11-29 25 views
5

Basit kakao uygulamasında özel görünümü yeniden çizme konusunda bir sorunum var. Çizim, basit bir NSSlider tarafından değiştirilmekte olan bir parametreye dayanmaktadır. Ancak, ben -setParameter uygulanması, ancak: ve -parametre yöntem ve arayüz oluşturucu bu parametreye bağlanan Kaydırıcının i değeri kendisini yeniden çizmek için özel bir görünümü yapmak gibi olamaz. yeniden çizilmesini yaparsetNeedsGörüntü çalışmıyor mu?

kod şu şekildedir:

- (void)setParameter:(int)newParameter { 
    parameter = newParamter; 
    NSLog(@"Updated parameter: %d", parameter); 
    [self setNeedsDisplay:YES]; 
} 

Ben görünümü kendisini çizmez rağmen yeni bir parametre ayarlama hakkında mesaj almak DO. Herhangi bir fikir açığız!

cevap

5

zamanki sözdizimi: [self setNeedsDisplay:YES], ben ikisinin anlamı olduğunu kabul olsa da. Eğer - (void)drawRect:(NSRect)rect yöntemi uygulayan veya üst sınıfın drawRect: yöntemi kullanıyor musunuz?

+0

teşekkürler/ Ben kendi drawRect uygulamak EVET: Eğer drawRect üstündeki ("Merhaba" @) bir NSLog koyarsanız yöntemi – Eimantas

+0

: yöntemle, adı alır? –

+0

hayır, çağrılmadı. – Eimantas

1

NSOpenGLView alt sınıfını kullanırken bu soruna sahip olan herkes için'un sonunda [[self openGLContext] flushBuffer] kullanmayı unutuyor olabilirsiniz.

2

Bazen nedeni çok basit olabilir: Dosyanın sahibi UIView nesnesine hiçbir bağlantısı yoktur. yani, Outlet düzgün bir şekilde ayarlanmamıştır. IB, ctrl düğmesini kullanın ve sürükle yöntemini kullanın :)

+1

Bu çok iyi bir ipucu. Aslında, görüşümün düzgün bir şekilde bağlandığından emin olmama rağmen, görünümüm bağlı DEĞİLDİR. Şimdi sorunu Dosya'nın sahibine bağlayamama sorunu yaşadım. Bana bir şeylerin kırıldığı anlaşılıyor. –