2016-07-12 1 views
6

J'essaye de présenter un UIViewController dans un UIPopoverPresentationController mais je n'aime pas vraiment la fonction de flèche.UIPopoverPresentation sans flèche

Fondamentalement, ce que je veux faire est d'utiliser un UIPopoverPresentationController without the arrow qui l'accompagne.

Je code dans Swift.

+0

La seule façon - utiliser/créer une autre classe. –

+0

Pourriez-vous me dire où/quoi chercher alors? – meteorSD

+2

Non, je ne peux pas, j'aime cette flèche, désolé: D –

Répondre

13

C'est ce que j'ai abordé il y a quelques jours. Ce que j'ai fait était essentiellement de supprimer la flèche et de me fournir un rectangle source. La source avait bien sûr sa position Y modifiée pour lui donner un effet de survol sans la flèche. Essayez-le, a travaillé comme un charme pour moi.

yourPopoverPresentationController!.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0) 
let aView = //Source View that you would provide for the source rect 
yourPopoverPresentationController!.sourceView = aView 
let position = CGRectMake(aView.bounds.origin.x, aView.bounds.origin.y + 125, aView.bounds.size.width, aView.bounds.size.height) 
yourPopoverPresentationController!.sourceRect = position 

Ceci a eu pour résultat l'effet suivant qui était ce dont j'avais besoin. Autant que je sache, vous ne pouvez pas utiliser UIPopoverPresentationController sans flèche. enter image description here