2010-10-10 21 views
2

J'ai récemment examiné Cappuccino et Atlas, et ils semblent avoir abstrué le positionnement relatif et absolu dans quelque chose qui «fonctionne». Je me demandais pour ceux qui sont familiers avec le projet - comment ont-ils fait cela? J'ai toujours pensé que le positionnement relatif et absolu était une façon obscure de penser aux éléments de positionnement, donc je suis vraiment curieux à ce sujet.Comment cappuccino (objectif-j)/Atlas a-t-il pris le positionnement relatif et absolu hors de l'image?

Toute aide ou ressource que je pourrais vérifier serait fantastique!

Répondre

5

Cappuccino utilise le modèle de vues Cocoa. En HTML normal, l'accent est mis sur la mise en page du texte, c'est pourquoi vous obtenez des éléments tels que «floats» pour vous permettre de coller un bloc de texte dans un autre.

En Cappuccino, le positionnement et le dimensionnement des objets ressemblent davantage à ceux d'un bureau. Vous positionnez vos widgets dans une hiérarchie de «vues» avec des coordonnées fixes, et vous les «ancrez» sur un ou plusieurs côtés de l'écran (ou sur la vue parente).

Il est comme à Cocoa donc juste jeter un oeil à la façon dont il est décrit dans l'Interface Builder:

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/IB_UserGuide/Layout/Layout.html%23//apple_ref/doc/uid/TP40005344-CH19-SW9

Les ressorts et les entretoises du contrôle redimensionnement automatique définissent sélectionné la relation en vue de son parent cadre. Un ressort provoque la vue à se redimensionner proportionnellement basé sur la largeur ou la hauteur de son aperçu. Une entretoise permet à la vue de conserver une distance fixe entre elle-même et sa vue d'ensemble le long du bord donné.

Bien sûr, sous le capot, tout se résume à un positionnement absolu avec JavaScript pour exécuter le modèle de redimensionnement.