UIPopoverController 中的 UIScrollView
Posted
技术标签:
【中文标题】UIPopoverController 中的 UIScrollView【英文标题】:UIScrollView in UIPopoverController 【发布时间】:2015-10-04 11:35:25 【问题描述】:我正在努力启用使用UIScrollView
放大UIPopoverController
。 scrollView 是 600x600,它应该显示一个显示UIImageView
的视图控制器。图像显示,但未居中。
这是弹出窗口中显示的视图控制器中viewDidLoad
方法的代码。
- (void)viewDidLoad
self.imageView = [[UIImageView alloc] init];
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.imageView.image = self.image;
self.scrollView = [[UIScrollView alloc] init];
self.scrollView.backgroundColor = [UIColor greenColor];
[self.scrollView setContentSize:self.imageView.image.size];
[self.scrollView setDelegate:self];
[self.imageView setFrame:CGRectMake(0, 0, 600, 600)];
self.view = self.scrollView;
[self.scrollView addSubview:self.imageView];
// Do any additional setup after loading the view.
UIScrollView
和 UIImageView
在弹出窗口中显示的 UIViewController
内声明为属性。 image
是另一个属性,在创建 UIViewController
时设置为指向图像。
这就是它的样子。
我想将图像置于弹出框的中心并使其适合。我怎样才能做到这一点?谢谢。
【问题讨论】:
【参考方案1】:你需要做的是:
第一:
在显示为弹出框的 uiviewcontroller 中
override func viewWillAppear(animated: Bool)
super.viewWillAppear(animated)
preferredContentSize = CGSize(width: collectionPreference.bounds.width, height: collectionPreference.bounds.height)
println("I am appearing?")
然后从呈现弹出框的视图控制器中:
使其符合 UIPresentationStyleForPresentingController 协议,
并实现这两件事:
第一:
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle
return UIModalPresentationStyle.None
第二个:在你的 prepareforsegue 方法中:
if let identifier = segue.identifier
if identifier == "segueToYourPopoverVC"
if let pVC = segue.destinationViewController as? YourPopoverVC
let ppc = pVC.popoverPresentationController
ppc?.delegate = self
祝你好运
【讨论】:
以上是关于UIPopoverController 中的 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController 的视图没有出现在 UIPopoverController 中
UIPopoverController 中的 UINavigationController:设置标题
现有 UIPopoverController 中的 UIImagePickerController
UIPopoverController 中的 UIScrollView