stel programmatisch UIView in

Ik heb een klein probleempje, waarom werkt dit:

self.view = mySecondView; (the view was changed)

terwijl dit:

self.myView = mySecondView; (the view was not changed)

niet? Ik heb een outlet gemaakt

IBOutlet UIVIew* myView; 

verbonden in IB. In mijn .m heb ik een nieuwe weergave (mySecondView) programmatisch gemaakt, dan met een actie probeer ik mijnView in te stellen met deze nieuwe weergave, de vastberadenheid is geen werk. waar is de fout?

1

2 antwoord

Als myView niet is gedeclareerd als een eigenschap, kunt u geen puntnotatie gebruiken om er toegang toe te krijgen. Probeer dit aan uw .h-bestand toe te voegen:

@property (retain, nonatomic) UIView *myView;

en dit naar uw .m-bestand:

@synthesize myView;
2
toegevoegd
Ik voeg de eigenschap toe maar niets :( de weergave verandert niet ..
toegevoegd de auteur kikko088, de bron
self.view = mySecondView; (the view was changed)

Dit werkt waarschijnlijk omdat self een UIViewController is die een view-eigenschap (waardoor je de puntnotatie gebruikt) uit de doos kunt gebruiken. Maak een myView-eigenschap aan:

@property (retain, nonatomic) UIView *myView;
0
toegevoegd