7
votes

Bouton arrière-plan et changement de gradient depuis iOS6

Pour une application, j'ai dû créer un uibutton rempli d'un gradient et d'une image d'arrière-plan. Tout a fonctionné bien jusqu'à ce que j'ai mis à niveau le système d'exploitation à partir de iOS 5.1 sur les iOS 6.

Voici deux captures d'écran du simulateur:

 capture d'écran avec iOS 5.1

 screnshot avec io 6

Eh bien, la première capture d'écran montre ce dont j'ai besoin (et a fait), vous pouvez voir un fond marron et le radiente gris.

ci-dessous est la capture d'écran avec les mêmes boutons mais avec iOS 6 en cours d'exécution. Comme vous pouvez le voir, le dégradé a disparu et une étrange bande blanche est apparue au bas du uibutton .

J'ai regardé s'il s'agit d'un bug ou de quelque chose mais je ' Je n'ai rien trouvé, peut-être que quelqu'un ici a fait face au même problème? Voici mon code pour gradient xxx


2 commentaires

Je finis enfin un moyen de restaurer le look "normal" de mes boutons en supprimant une sous-système avec ce code: pour (uIView * Sousweview in BTNCountry.subs) Si ([Sous-site IskindofClass: NsclassFromstring (@ "uigreuptableviewcellbackgr" )])) [Sous-site SupprimerFROMSUPERView]; mais maintenant, quand je touche les boutons, il provoque une erreur exc_bad_acc, personne n'a un indice ou quelque chose comme ça?


Ceci Question est liée


3 Réponses :


7
votes

Comme vous pouvez le voir dans mon commentaire, le problème est venu de la classe uigrouptableviewcellgroundground code>, je viens de le cacher. Je pense que ce n'est pas une solution «propre», si vous avez un meilleur Ä ° 'll Soyez heureux d'entendre parler de cela: -)

Voici le code: P>

for(UIView* subView in btnCountry.subviews)
    if([subView isKindOfClass:NSClassFromString(@"UIGroupTableViewCellBackground")])
        [subView setHidden:YES];


0 commentaires

2
votes

Insertion du calque à la position de l'index 1 fonctionne pour moi.

Probablement la meilleure solution consiste à vérifier la version iOS et, selon cela, insérer à l'index 0 ou 1.


0 commentaires

11
votes

Il s'agit d'un problème vraiment étrange dans iOS6, je suis confronté au même problème lors de la définition de gradient comme si vous le feriez généralement: xxx

donc j'ai essayé de changer la ligne de fond sur ce qui a fonctionné parfaitement bien iOS 6 et également dans des versions inférieures de iOS xxx

espoir cela aidera


0 commentaires