2010-01-11 3 views
3

J'ai une vue modale dans mon application iPhone (Xcode, Objective C++). Comment puis-je le rendre aussi joli que le système UIAlertView? Plus précisément, je veux:Rendre ma vue aussi jolie que NSAlertView

  • fenêtre rect arrondi avec une bordure autour
  • fond semi-transparent
  • fort subtile près du sommet

La transparence peut être probablement atteint avec moins d'un canal alpha sur la couleur de fond. Qu'en est-il du cadre et du reste?

Répondre

5

Sur iPhone OS 3.0 et versions ultérieures, vous pouvez facilement obtenir les coins arrondis en définissant la propriété borderRadius du calque de la vue.

view.layer.cornerRadius = 5; 

Vous aurez besoin de #import <QuartzCore/QuartzCore.h> pour obtenir les en-têtes de la classe CALayer.

Vous avez raison sur la transparence, utilisez simplement une couleur avec un composant alpha et assurez-vous que la vue n'est pas marquée comme opaque. En ce qui concerne la surbrillance, vous pouvez le faire par programme ou en utilisant une image. Si vous le faites par programme, vous devrez utiliser Core Graphics et faire quelques dessins avec CGGradient.

Si vous utilisez une image, jetez un oeil à stretchableImageWithTopCapHeight:leftCapWidth: de UIImage; vous pouvez redimensionner une image sans déformer les coins.

+0

Vous vouliez certainement dire 'cornerRadius' - il n'y a pas de 'borderRadius' sur' CALayer'. –

+0

Oups, corrigé! Je devais avoir pensé à la propriété CSS. – benzado

Questions connexes