2015-10-09 3 views
0

Я реализовал popovers как презентации UIViewController. Я использую модальный стиль презентации Popover и UIPopoverPresentationController в качестве основного вида.iOS Popover отображается на TextView

let popoverViewController = segue.destinationViewController as! SearchTableViewController 
self.searchTableViewController = popoverViewController 
popoverViewController.modalPresentationStyle = UIModalPresentationStyle.Popover 
popoverViewController.popoverPresentationController!.delegate = self 

Моя проблема заключается в том, что popovers отображаются над TextViews, на которые они привязаны.

Ex:

enter image description here

Вот как я TextView и поповер проволокой вверх на раскадровку:

enter image description here

enter image description here

Кто-нибудь есть идея, почему popover указывает на верхнюю левую часть этого TextView? Это отлично работает с iOS 8, но popovers немного сдвинулся в iOS9.

ответ

1

Я не уверен, почему это произошло, но быстрым решением является перемещение рамки, где вы хотите. Я сделал это с код ниже:

let absoluteframe = patientTextField!.convertRect(patientTextField!.frame, fromView: self.scrollView) 
popoverViewController.popoverPresentationController!.sourceRect = CGRectMake(absoluteframe.minX + 60,absoluteframe.minY + 20,0,0) 

Первое, что вам нужно, чтобы получить кадр для пункта всплывающего привязан. Затем вы можете установить sourceRect, обновив позицию прямоугольника с их текущими значениями x и y. Надеюсь, это поможет любому, у кого есть подобные проблемы!

Смежные вопросы