2015-11-06 1 views
1

J'utilise un UIButton pour navigation item title view, et la largeur du bouton est sujette à changement, donc je vous réglez le cadre comme ci-dessous:iOS Réglage du cadre élément de vue du titre de navigation glitches sur iPhone 6 et jusqu'à

CGFloat titleButtonTextWidth = [title sizeWithAttributes:@{NSFontAttributeName:FontMedium(14)}].width; 
CGFloat buttonWidth = MAX(titleButtonTextWidth, SCREEN_WIDTH/3.f); 

self.titleButton.frame = CGRectMake(0, 0, buttonWidth, 30); 

Sur l'iPhone 5s et inférieur, le bouton de titre reste au milieu, mais pour iPhone 6 et plus, le origin du frame est respecté et le bouton de titre se retrouve dans le coin supérieur gauche. Résoudre cela est facile, mais je ne sais pas pourquoi Apple a décidé de changer soudainement des choses comme ça.

Est-ce que vous pensez que cela pourrait être un bug ou un changement?

Répondre

0
CGFloat titleButtonTextWidth = [title sizeWithAttributes:@{NSFontAttributeName:FontMedium(14)}].width; 
CGFloat buttonWidth = MAX(titleButtonTextWidth, SCREEN_WIDTH/3.f); 

self.titleButton.frame = CGRectMake(0, 0, buttonWidth, 30); 
self.titleButton.titleLabel.frame = CGRectMake(0, 0, buttonWidth, 30); 

changez votre code pour cela, cela fera aller le titre au milieu du bouton. Vous pouvez changer votre cadre de bouton en conséquence