J'ai une vision Web de cacao, avec une application Web. L'application Web a une barre d'outils fixe elle-même et avec le défilement élastique, et la barre d'outils venant sous le haut, il a l'air mauvais. Existe-t-il un moyen de désactiver le défilement de bande élastique / caoutchouc, ou du moins à garder la barre d'outils de se déplacer avec le reste du contenu? Je peux modifier l'application Web autant que nécessaire. P>
3 Réponses :
Peut-être En bref: désactiver Overflow code> sur
HTML code> et
Corps code>, ajoutez une emballage avec
Overflow: auto code> autour de tout Le contenu de la page p>
NB: Les boîtes de dialogue JQuery UI sont toujours ajoutées au corps code> code>, de sorte que vous auriez besoin de les réparer dans votre contenu DIV pour que cela fonctionne correctement.
Si vous êtes intéressé à le faire à partir du point de vue WebView code> et de cacao, vous pouvez également implémenter le délégué de la charge de finition, saisir la vue de défilement et désactiver l'élasticité:
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame { NSScrollView *mainScrollView = sender.mainFrame.frameView.documentView.enclosingScrollView; [mainScrollView setVerticalScrollElasticity:NSScrollElasticityNone]; [mainScrollView setHorizontalScrollElasticity:NSScrollElasticityNone]; }
Cela le fait d'une perspective de cacao, ce qui est la question de la question. L'utilisation de JavaScript / HTML ne peut être facilement utilisée que sur des pages personnalisées.
Pouvez-vous en dire plus sur pourquoi cette méthode de délégation spécifique? Pourquoi ne pas, par exemple, dans la déléguée de chargement des ressources, ou même dans Awakefromnib?
Je sais que ce commentaire ne sera probablement pas accepté, car il y a déjà une réponse.
Cependant, il existe une méthode réelle que vous pouvez appeler sur votre nsview code> (docs ici ): p>
Cela empêche tout défilement, y compris sans défilement de contenu dans la View de WebView, tels que DIV, des barres de défilement. La question de l'opération consiste à désactiver les visites Web des effets «Bounce». La réponse vervoyante fonctionne correctement dans ce cas.
Est venu ici de Google. Bien que cela ne réponde pas à la question posée, c'est ce que je suis venu ici à la recherche de ... +1
@ asgeo1 ce n'est pas vrai. J'ai couru ce morceau de code de mon application de mon Appedelegate's ApplicationDinishLaunching, et des divs défilants ainsi que des iframes. Ils ont fonctionné parfaitement bien. Cette ligne de code fixe l'effet de rebond, rendant mon application WebKit ressemble plus à une application et moins comme une page Web.
C'est une question et une réponse difficiles à trouver, et difficile à expliquer. Je cherchais à la recherche sur "Cocoa Webkit Bounce Effect" et je n'ai pas trouvé cela. Dû essayer un autre mot clé "Scroll de cacao webkit". Je suis content que tu l'as posté. J'aimerais suggérer de supprimer l'étiquette OSX-Lion car elle s'applique à tous les OSX, et supprimez également "en lion" du titre de la question. Cela facilitera la tâche que d'autres de trouver cette question et une réponse importantes. En outre, la doublure ci-dessous de Briangonzalez m'a fixé, plutôt que la réponse que vous avez choisie. Il était également plus facile de faire que la réponse de Kizu.