8
votes

Créer une ligne de séparation Uitaire personnalisée

Je voudrais créer une ligne de séparateur comme celle-ci:

Entrez la description de l'image ici

une idée de la façon de la mettre en œuvre? J'ai essayé d'obtenir une image de la ligne et d'utiliser uiapppearance objets proxy: xxx

mais, en quelque sorte, seule la ligne noire est rendue.


0 commentaires

3 Réponses :


9
votes

Vous pouvez essayer ci-dessous:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]];
   imageView.frame = CGRectMake(0, 100, 320, 1);
   [customCell.contentView addSubview:imageView];

   return customCell;
}


9 commentaires

Je crois que votre dernière ligne est la suivante: [Cell.ContentView addsubview: Sperateur]; Quoi qu'il en soit, cela ne fonctionne pas parce que j'ai besoin d'une ligne de séparateur avec deux couleurs


Comment ajouter une image à la place?


Je pense que la deuxième approche fonctionne mieux, mais je devais régler CGRRRCTMAKE (0, 1, 320, 1)


Étrange que je ne puisse pas avoir le même effet avec les objets proxy uiappearance


Au fait, il s'agit d'un fond d'image là-haut sur la cellule ou la table entière.


J'ai déjà fait cette affaire pour une partie de mon application avant, c'était une utile statique et je mets un arrière-plan pré-conçu pour la table et retirez le séparateur et la cellule BG;)


Quand j'utilise l'apparence proxy, je viens d'obtenir une ligne noire


Que se passe-t-il si la cellule est réutilisée? Ne devriez-vous pas vérifier si la vue Séparateur existe déjà?


Vous voudrez peut-être utiliser 1.0 / uiscreen.mainscreen.scale comme la hauteur du séparateur.



8
votes

@tarek J'ai utilisé deux instance de vos objets pour créer la double ligne xxx

semble bien! Bravo pour vous


0 commentaires

1
votes

SWIFT 3 strud>

ViefDiDload: P>

class MyCustomCell: UITableViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()

        let separator = UIView(frame: CGRect(x: 8, y: bounds.size.height - 0.5, width: bounds.size.width - 22, height: 1))
        separator.backgroundColor = UIColor.red
        contentView.addSubview(separator)
    }
}


0 commentaires