[Cocoa] NSView - viewDidAppear

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
Is er een NSView viewDidAppear / viewDidLoad variant zoals deze wel te vinden is in UIView? Als de applicatie is gestart wil ik deze wat standaard waardes geven in diverse textvakjes. Maar dit krijg ik niet voor elkaar.

De initWithNibName methode wordt wel aangeroepen maar deze bevind zich uiteraard te vroeg in het proces om een NSTextView aan te kunnen passen.

Het toevoegen van de tekst zelf werkt wel goed, ik heb namelijk ook een knop op de view, en daarmee werkt het wel (als in, als ik die aan klik, dan verschijnt de tekst).

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
Kan je niet iets dergelijks als onderstaande code gebruiken?

C++:
1
2
3
4
5
- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setDefaultValues];
}


Mijn Objective C is een beetje rusty en ben er nooit erg lang mee bezig geweest, maar gebruik je niet bijna altijd een klasse die een instantie is van UIView(Controller)? Wellicht dat een beetje meer context handig is, maar misschien zit ik niet diep genoeg in de materie O-)

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
Nee, viewDidLoad is inderdaad wat ik zoek, maar dit werkt enkel bij UIView (iPhone / iPad gerelateerde views) ik ben bezig met een OSX applicatie welke NSView gebruikt, welke dus geen viewDidLoad, viewDidAppear e.d heeft.

Dat is precies mijn vraag namelijk ;)

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
Hm, de tijd die ik daarmee heb gewerkt was voor de ipad/phone, niet voor osx. Al gekeken of awakeFromNib soelaas biedt, of is dat ook ipad/phone specifieke functie? Ik ben ook applicationDidFinishLoading ergens tegengekomen, maar kan niet vinden waar deze functie zou moeten zitten.

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
De enige functie die de NSViewController heeft gerelateerd aan 'klaar met laden of bezig met laden' van de view die er bij hoort is helaas initWithNibName.*

Er is in 'AppDelegate.m' inderdaad een methode 'applicationDidFinishLaunching' welke eventueel soelaas kan bieden, maar hoe zou je het dan doen wanneer je een andere view laad?

edit: *Dit blijkt een fout van mij, zie volgende twee posts

[ Voor 11% gewijzigd door ZpAz op 17-08-2011 00:23 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
awakeFromNib is als het goed is beschikbaar in de NSViewController, deze helpt dus niet?

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
awakeFromNib, die werkt wel. Thanks!

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

Verwijderd

Anders kan je toch altijd initWithNibName: overloaden?

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 21:48
Verwijderd schreef op woensdag 17 augustus 2011 @ 00:40:
Anders kan je toch altijd initWithNibName: overloaden?
initWithNibName wordt te vroeg uitgevoerd, dan is de nib (interface) nog niet geladen, dit gebeurt pas in een hogere classe. Je kan in deze methode dus nog niets in de interface elementen wijzigen (zoals een tekst instellen oid).

Tweakers Time Machine Browser Extension | Chrome : Firefox

Pagina: 1