2010-11-14 5 views
0

J'ai un NSView comme document d'un NSScrollView. Je voudrais avoir quelques pixels de remplissage en haut et en bas de la partie visible de la vue, quel que soit l'emplacement du défilement (pas seulement en haut et en bas du document comme décrit here). Pour un exemple d'application qui effectue cela, regardez Terminal.app. Quelle que soit la couleur d'arrière-plan du texte, les deux premières lignes de pixels visibles sont toujours la couleur d'arrière-plan par défaut. Je sais que je pourrais tout simplement dessiner deux pixels plus bas et dessiner un rectangle en haut et en bas du document-rect visible, mais cela nécessitera de changer beaucoup de code complexe que je n'ai pas écrit. Des idées plus simples sont les bienvenues!Rembourrage en haut de NSView dans un NSScrollView

Répondre

0

La réponse à la question que vous avez liée est en fait une bonne solution à ce problème aussi. En fait, si votre vue est autre qu'un NSTextView, je dirais que c'est plus facile à implémenter. Spécifiquement: transformez votre vue de document actuelle en sous-vue d'une autre vue, en laissant de la place sur les bords et en faisant de cette vue la vue du document de la vue défilante. Si votre vue de contenu (celle que vous souhaitez remplir) change de taille, faites en sorte que votre «vue de remplissage» l'observe pour les changements de cadre et redimensionne pour maintenir le remplissage.

2015 Mise à jour

encart de contenu a été ajouté à NSScrollView que de 10,10, ce qui rend ma réponse plus obsolète.