Parcourir des vues non affichées
muqaddar
Administrateur
Salut,
Dans ma fenêtre des prefs, je voudrais parcourir les vues, toute les vues, même celles qui ne sont pas affichées (par la toolbar).
Soit le code suivant :
Or ce code me renvoie :
contentView : <NSView: 0x1623480>
viewItems : ()
Autrement dit, il ne voit pas les vues subviews. Je pensais que contentView était simplement déjà une des subview à cette étape. Donc j'ai essayé de récupérer la vue supérieure avec :
Mais là , ça me renvoie :
contentView : <NSThemeFrame: 0x1621d20>
viewItems : (
  <_NSThemeCloseWidget: 0x1622470>,
  <_NSThemeWidget: 0x16226f0>,
  <_NSThemeWidget: 0x16228f0>,
  (<NSToolbarView: 0x1621f90>: prefsToolbar),
  <_NSThemeWidget: 0x16239a0>,
  <NSView: 0x1622e20>
Autrement dit, ça me renvoie tout ce qu'il y a dans ma fenêtre, alors que je ne veux récupérer que les vues que cette fenêtre peut afficher en cliquant sur les icones de la toolbar. Ces vues doivent pourtant être chargées et récupérables même si elles ne sont pas affichées en même temps, non ?
Dans ma fenêtre des prefs, je voudrais parcourir les vues, toute les vues, même celles qui ne sont pas affichées (par la toolbar).
Soit le code suivant :
<br /> NSView *contentView;<br /> NSControl *controlView;<br /> NSArray *viewItems;<br /> int ix, iy, nbView;<br /> id value;<br /> <br /> //on recupere la vue de la fenetre des prefs<br /> contentView=[_IBO_wndPrefs contentView];<br /> NSLog (@"contentView : %@", contentView);<br /> <br /> //et un array de subviews qui contient toutes les vues chargées<br /> viewItems=[contentView subviews];<br /> nbView=[viewItems count];<br /> NSLog (@"viewItems : %@", viewItems);
Or ce code me renvoie :
contentView : <NSView: 0x1623480>
viewItems : ()
Autrement dit, il ne voit pas les vues subviews. Je pensais que contentView était simplement déjà une des subview à cette étape. Donc j'ai essayé de récupérer la vue supérieure avec :
contentView=[[_IBO_wndPrefs contentView] superview];
Mais là , ça me renvoie :
contentView : <NSThemeFrame: 0x1621d20>
viewItems : (
  <_NSThemeCloseWidget: 0x1622470>,
  <_NSThemeWidget: 0x16226f0>,
  <_NSThemeWidget: 0x16228f0>,
  (<NSToolbarView: 0x1621f90>: prefsToolbar),
  <_NSThemeWidget: 0x16239a0>,
  <NSView: 0x1622e20>
Autrement dit, ça me renvoie tout ce qu'il y a dans ma fenêtre, alors que je ne veux récupérer que les vues que cette fenêtre peut afficher en cliquant sur les icones de la toolbar. Ces vues doivent pourtant être chargées et récupérables même si elles ne sont pas affichées en même temps, non ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Maintenant pour parcourir les vues si elles ne sont pas affichées, tu peux les stocker dans un tableau ou un dictionnaire, qui est alors une variable d'instance du controlleur.
C'est exactement ce que j'ai essayé de faire après, sans succès.
J'ai essayé :
[viewItems addObject: [_IBO_viewGeneral view]];
[viewItems addObject: [_IBO_viewGeneral contentView]];
etc...
sachant que je ne veux que renvoyer la vue qui correspond à leur outlet !
-[NSView contentView]: selector not recognized [self = 0x161d6b0]
[tt][viewItems addObject:_IBO_viewGeneral];[/tt]
.
Oui, j'avais essayé cette solution plus simple, mais vu que ça plantait direct, j'en ai pas parlé...
theProg has exited due to signal 11 (SIGSEGV).