NRGridView

124»

Réponses

  • juillet 2012 modifié #92
    Pas pour l'instant image/biggrin.png' class='bbc_emoticon' alt=':D' />

    Sinon pour t'expliquer un peu comment c'est centré:

    Toutes les cellules se collent, mais comme il y a une contentView, on a toujours l'impression qu'il y a un espacement entre elles.

    En gros, si tu as 2 cellules par ligne, c'est centré comme suit:

    leftSpacing = floor( (CGRectGetWidth(gridViewBounds) - (cellSize.width*nbOfCellsPerLine)) /2.);

    Donc logiquement leftSpacing = rightSpacing sauf si on tombe sur un nombre impair au moment de la division.

    Faut juste faire gaffe de bosser qu'avec des cellSize pairs:

    leftSpacing = floor( (320 - (100*2)) /2.); = 60.; // pair





    Du coup tu auras un espacement de 60 à  gauche et 60 à  droite.

    Maintenant si tu veux que l'espace gauche/droite/inter-cellules soit le même, tout ce que tu as à  savoir c'est que la contentView d'une NRGridViewCell est un CGRectInset() avec dx et dy = 5

    Ce qui donne un interspacing de cellules qui vaut 10.

    Te reste plus qu'à  faire des maths.. pour une largeur de 320px avec leftSpacing = rightSpacing = intercellSpacing = 10

    cellSize.width = ( (CGRectGetWidth([[self view] bounds]) - (leftSpacing + rightSpacing))/nbOfCellsPerLine );



    Soit:

    cellSize.width = ( (320. - (10. + 10.)) / 2); = 150



    Donc avec une cellSize de 150 de largeur tu devrais avoir le même espacement sur les bords gauche/droite de la gridView et entre les cellules.
  • CeetixCeetix Membre
    juillet 2012 modifié #93
    Hum ok.

    Le truc c'est que je veux reproduire (comme tu l'as vu), la disposition des photos de Photo.app. Pour le moment j'ai créé une cell qui contient la marge en left et bottom mais au final j'aimerai mieux que ma cell contienne pile poil mon imageView.

    Mais vu ce que tu me dis si je créé une cell de 76 x 76 px je devrai avoir un espacement homogène de 4 px.



    Edit : je viens de voir ton edit ^^ Thx
  • Petit up...

    J'aimerais faire un truc comme l'image en pièce-jointe.



    Je me demandais si NRGridView pouvait faire l'affaire, ou si carrément il y avait plus simple.



    J'hésite à  implémenter moi-même ce type d'objet :

    X lignes au-dessus de la ligne colorée

    X lignes colorées

    X lignes au-dessous de la ligne colorée



    Mais si c'est déjà  implémenté...
  • CéroceCéroce Membre, Modérateur
    Sous iOS 6, il existe UICollectionView.
  • Merci bien.

    J'avais déjà  vu des exemples de UICollectionView (du style les trucs épinglés etc.), et du coup, j'avais pas vu que ça pouvait faire ça aussi...
  • Je sais pas si UICollectionView peut faire un NSTableView-like, du moins si c'est ce que tu cherches à  faire.

    NRGridView ne le peut pas (à  moins de tricher et d'écrire du code dégueulasse).
Connectez-vous ou Inscrivez-vous pour répondre.