0
votes

Swift - Cornerradius ne fonctionne pas dans CollectionViewCell

im essayant d'obtenir une cellule uicollection arrondi, mais j'ai découvert que cela ne fonctionne pas d'une manière ou d'une autre et je ne peux pas monter pourquoi. J'ai une visionneuse de table dans la liste de visualisation régulière, dans cette tableView, j'ai une cellule de table personnalisée (dans la section spécifiée) et dans cette cellule de table personnalisée, j'ai une collectionVoir la vision de Collectioncell personnalisée et si je fais tout ce qui est arrondi, il ne s'agit que d'arrondir n'importe quoi. J'appuie Testbtn dans les limites, mais cela ne fonctionnait pas avec ça ... j'ai aussi essayé testtn.layer.maskstobounds sans succès. Cependant, si je fais un arrondi dans le parent (cellule de tableView elle-même), il fonctionne simplement bien ...

CollectionViewCell Code: P>

import UIKit

class ProfileTileCollectionViewCell: UICollectionViewCell {

    @IBOutlet var testBtn: UIButton!
    @IBOutlet var contView: UIView!

    override func awakeFromNib() {
        super.awakeFromNib()
        testBtn.layer.cornerRadius = 20
        testBtn.clipsToBounds = true
        // Initialization code
    }

    @IBAction func testClicked(_ sender: Any) {
        print("clicked")
    }
}


1 commentaires

Votre code a l'air bien. Peut-être montrer un coup d'écran de la hiérarchie de vue pour votre cellule. En outre, juste pour vous assurer, dans votre storyboard (ou XIB), avez-vous défini le nom de la classe de cellules à ProfileTileCollectionviewCell dans l'inspecteur d'identité?


3 Réponses :


0
votes

essayer de définir testbtn.layer.masksttobounds = true


0 commentaires

0
votes

Dans la capture d'écran, je suppose que vous avez ajouté un rayon de coin dans votre vue de collection et définissez Clipstobounds True. Si vous n'avez pas besoin de vue de collection arrondie, supprimez le cornerradius et définissez Clipstobounds False. Ou si vous avez besoin de ces deux arrondi, maintenez le rembourrage entre la vue de la collection et le bouton. Vous pouvez le faire en ajustiser la propriété Section Inset.


0 commentaires

0
votes

J'ai eu une grande 8 heures de sommeil et parce que Cuz que et que Rob's commentaire, j'ai essayé de creuser un peu dans le débogage et j'ai remarqué un message d'avertissement qui disait que le comportement de l'uicollectionviewflowlued n'est pas défini ... (et donc au). J'ai donc décidé de configurer uicollectionviewelegateflowliayout comme ceci: xxx

et enfin: d en quelque sorte qu'il a commencé à fonctionner correctement!

J'ai donc supprimé tout ce que j'ai utilisé pour tester, supprimé testbtn et changé de testttn.roundedcorners vers Conview.Roundedcorners, définissez les propriétés de la collectionView et il regarde près de ce que je recherche: SCREENSHOT2.PNG

Thanx pour vos réponses, en particulier pour Rob. C'est ce que je cherchais!

Cordialement SB!


0 commentaires