Съжалявам, ако това е било попитано преди, или това ено аз не мога да го разбера.Имам NSView в моя интерфейс и съм създал подклас NSView в Xcode.След това с помощта на инспектор идентичност, зададох моя NSView клас, за да бъде новосъздаден NSView подклас. Изгледът е добър, но сега трябва да го преначертая, за да променя низ в изгледа. Сигурен съм, че това е свързано със setNeedsDisplay, но на какво да изпратя съобщението? Нямам конкретен пример за моето мнение в кода, тъй като той е в Interface Builder, така че какво да правя? Отново, съжалявам, ако това е тъпо. Аз не съм направил много с NSView все още.Попитайте за повече информация, ако имате нужда от нея.Благодарности!
Отговори:
7 за отговор № 1В подкласа на контролния панел, който имате, добавете ivar с вашия тип NSView
подклас. Декларирайте имот върху него и го маркирайте като изход.
// ViewControllerSubclass.h
ViewType *myView;
@property(readwrite, assign) IBOutlet ViewType *myView;
// ViewControllerSubclass.m
@synthesize myView;
Сега имате изход, свържете го с изгледа, който сте проектирали чрез IB. За да направите това, кликнете с десния бутон в IB на подклас на контролера на изгледа (собственика на файла), трябва да видите изхода в списъка.
След като направите това, вече можете да изпращате съобщения до изгледа в кода си.
За да маркирате изгледа като нуждаещ се от преначертаване:
[myView setNeedsDisplay:YES];