2016-05-30 2 views
0

J'ai tableview avec UITableViewAutomaticDimension rowHeight. Une des cellules contient uiview avec une hauteur fixe.Hauteur de ligne tableview incorrecte sur iOS8

A l'intérieur de ce point de vue placé deux boutons, et dans la méthode layoutSubviews de ce point de vue utiliser le code i

self.button1.layer.cornerRadius = self.button1.frame.size.height/2 

pour arrondir ce bouton.

En iOS9 le bouton est rendu correctement:

enter image description here

Mais, sur le bouton iOS8 pas rendu correctement:

enter image description here

Quel est le problème? Comment dois-je définir les contraintes pour rendre le rendu du bouton correctement dans iOS8?

Voici le fichier .Xib de la cellule:

Cell xib file

+0

Où placez-vous le code mise cornerRadius? Je vous suggère de le mettre dans 'layoutSubviews' – binchik

+0

vous devez définir le rayon de coin dans la vue apparaîtra méthode et avant d'appeler layoutIfNeeded –

+0

quelle est la hauteur du bouton? –

Répondre

0

Essayez cette

ajouter cette ligne à votre cellulaire classe

-(void)layoutSubviews 
    { 
     [super layoutSubviews]; 

     self. button1.layer.cornerRadius = self. button1.frame.size. height/2; 
     self. button1.clipsToBounds = YES; 
     [self.contentView layoutIfNeeded]; 
    } 
0

personnalisé Il fonctionne pour moi. Essayez-le.

self.button1.layer.cornerRadius = self.button1.frame.size.height/2 
self.button1.clipsToBounds = true 

espérons qu'il aide you.Thanks