Aucun scroll dans une NSScrollView
Tchouboudou
Membre
Bonjour les gens !
J'ai une NSBox qui contient 4 NSBox qui contiennent chacune une sous-classe de NSView. Dans cette NSView, j'ai dessiné 2 images et rajouté une NSScrollView (contenant un NSTextView). Mon problème est que, même si je met les barres des défilements, je n'arrive pas à faire défiler le texte.
Voici mon code de création de ma NSScrollView :
Voilà
Je paye la tournée à celui qui trouve
J'ai une NSBox qui contient 4 NSBox qui contiennent chacune une sous-classe de NSView. Dans cette NSView, j'ai dessiné 2 images et rajouté une NSScrollView (contenant un NSTextView). Mon problème est que, même si je met les barres des défilements, je n'arrive pas à faire défiler le texte.
Voici mon code de création de ma NSScrollView :
NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:NSMakeRect(12, 60, 199, 112)];<br /> [scrollView setHasVerticalScroller:YES];<br /> [scrollView setHasHorizontalScroller:NO];<br /> [scrollView setDrawsBackground:NO];<br /> [scrollView setBorderType:NSNoBorder];<br /> <br /> NSTextView *textView = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, 199, 112)];<br /> [textView setDrawsBackground:NO];<br /> [textView insertText:[sticky content]];<br /> [textView setEditable:NO];<br /> [textView setSelectable:NO];<br /> [textView setRichText:NO];<br /> [textView setUsesFindPanel:NO];<br /> <br /> [scrollView setDocumentView:textView];<br /> <br /> [self addSubview:scrollView];
Voilà
Je paye la tournée à celui qui trouve
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pas besoin de scroller donc
Ton souci va donc se transformer en "comment trouver la hauteur que devrait avoir ma NSTextView avec le contenu [sticky content] et la largeur 199"
Problème qui a déjà été traité ici si je ne m'abuse !
Et Vérifier quel est le comportement par défaut du réglage "show horizontal scroller", "show vertical scroller" ..
Je suis preneur de tout conseil, ou quoi que ce soit ::) .
Je sais pas moi, tu peux jouer sur les frames, les rect, le "visible" ou n'importe quoi d'autre, mais là c'est une hérésie ce que tu fais :P
Pourquoi ne pas faire ça dans le "awakeFromNib" ?
Une solution : réduire la taille du Scroller à 0. Mais, ça me parait trop barbare.
Donc, j'espère qu'il y a une solution à tous ça...
Merci beaucoup, en tout cas, schlum .
?
- (void)setRulersVisible:(BOOL)flag
?
- (void)setHasVerticalRuler:(BOOL)flag
?
NSTextView n'a pas besoin d'être incluse dans une NSScrollView
Elle gère déjà son propre scroller ??? (formée d'une NSScrollView et d'un NSText)
Malheureusement, j'ai viré la création du NSScrollView, mais ça scroll toujours pas (et en plus, maintenant, ça commence en bas). Aussi, je sais pas quelle taille donner au NSTextView, sachant que la taille de la chaà®ne ([string size].height) sera plus grande que ce que je veux...
J'ai essayé de faire la même chose, aucun problème, sauf que ça ne scroll toujours pas
Interface Builder fait sa toutouille.
Maintenant, si je mets simplement une NSTextView, je peux pas accéder à ça NSScrollView.
Pourquoi ne pas créer ton textlView via IB ?
Un textView est un objet assez complexe, donc, fais confiance en IB.
Le plus simple, créé un nouveau nib, insére un custom-view dans lequel tu vas déposer ton textView idéal (avec la bonne config).
Ainsi, à chaque fois que tu dois créer un textView, au lieu des alloc/init, tu charges le fichier nib, ce qui va automatiquement créer le textView.
.
Merci à tous, en tout cas :-*
J'ai essayé aussi l'imbrication NSScrollView / NSClipView / NSTextView
En définissant bien les "setContentView" et "setDocumentView"
Et nada...
En traçant avec la solution IB, ça donne ça :
En créant avec le code, ça bloque à [NSClipView _scrollTo:animate:] qui ne repasse pas la main à NSScrollView
Un seul outlet peut suffire :
- soit tu as l'outlet du scrollView : dans ce cas ton textView peut être atteint par [outletScrollView documentView].
- soit tu as l'outlet du textView : un [[outletTextView superview] superview] te permet de récupérer le scrollview.
.