viewController와 해당 버튼을 연결하고 segue로 popover 한 후에는 준비해야합니다. 다음은 popover segue를 준비하기위한 코드입니다.
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if let identifier = segue.identifier
{
switch identifier
{
case History.SegueIdentifier:
if let tvc = segue.destinationViewController as? TextViewController
{
if let ppc = tvc.popoverPresentationController
{
ppc.delegate = self
}
tvc.text = "\(diagnosticHistory)"
}
default: break
}
}
}
은 아이폰이 있다면 당신이이를 사용하는의 어떤 특정 요소를 취하는 텍스트를 생각한 것을 해결할 수 있도록 팝 오버는, 전체 화면으로 이동하게됩니다 마십시오.
이렇게하면 popover가 텍스트에있는 요소의 크기와 정확하게 일치하게됩니다.
@IBOutlet weak var textView: UITextView!
{
didSet
{
textView.text = text
}
}
var text : String = ""
{
didSet
{
textView?.text = text
}
}
override var preferredContentSize : CGSize
{
get
{
if textView != nil && presentingViewController != nil
{
return textView.sizeThatFits(presentingViewController!.view.bounds.size)
}
else
{
return super.preferredContentSize
}
}
set {super.preferredContentSize = newValue}
}
}
나는 다른 컨트롤러에서 2 개가 있지만 작동한다고 생각합니다. 또한 첫 번째의 ViewController에 UIPopoverPresentationControllerDelegate
및
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None
}
를 구현해야합니다.
GitHub에서 프로젝트를 살펴보아야합니다. https://github.com/liyong03/YLLongTapShare 달성하고자하는 목표를 달성 한 것으로 보입니다. 디자인이 마음에 들지 않는다면 코드를 공부하여 직접 작성할 수 있습니다. –