【问题标题】:set UIImagePickerController frame size and location设置 UIImagePickerController 帧大小和位置
【发布时间】:2013-01-17 17:14:15
【问题描述】:

我正在尝试在我的 OverlayViewController 中将 UIImagePickerController 的框架设置为屏幕中间 - 我创建自定义按钮的地方:

self.imagePickerController.showsCameraControls = NO;
if ([[self.imagePickerController.cameraOverlayView subviews] count] ==0)
{
   CGRect overlayViewFrame = self.imagePickerController.cameraOverlayView.frame;
   CGRect newFrame = CGRectMake(0.0, CGRectGetHeight(overlayViewFrame)-self.view.frame.size.height-10.0, CGRectGetWidth(overlayViewFrame), self.view.frame.size.height + 10.0);
   self.view.frame = newFrame;
   [self.imagePickerController.cameraOverlayView addSubview:self.view];
   CGRect imagePickerControllerFrame = CGRectMake(0, topPanel.frame.size.height + 50, self.view.frame.size.width, self.view.frame.size.height - topPanel.frame.size.height - bottomPanel.frame.size.height);
   self.imagePickerController.view.frame = imagePickerControllerFrame;
}

但是,它会全屏打开,并且所选图像包括顶部和底部面板下方的区域。我希望它是一个矩形。

我从代表视图中呈现UIImagePickerController,如下所示:

[self presentViewController:self.overlayViewController.imagePickerController animated:YES completion:nil];

怎么了?

【问题讨论】:

    标签: objective-c cocoa-touch uiimagepickercontroller


    【解决方案1】:

    来自UIViewController参考(link):

    presentViewController:animated:completion:

    讨论

    在 iPhone 和 iPod touch 上,呈现的视图总是全屏

    如果您想嵌入图像选择器,您应该手动将其视图添加到您的其他视图之一。

    【讨论】:

    • 如何使用自定义控制器进行嵌入?
    • [self.view addSubview:self.imagePickerController.view];。当然,假设您已经根据需要配置了图像选择器的视图框架。这是一个例子,当然,我看不到你的完整代码,也不能说应该在哪里以及如何准确地执行嵌入。
    • 我实际上在它上面有一个自定义层。没有它我会尽量做到这一点
    • 它可以与自定义控制器一起使用吗?我正在创建一个类似于 Instagram 的应用
    • 好吧,如果您正在处理视图(或层,在这里并不重要),而不是控制器,那么我认为是的,它会很好地工作。只需将图像选择器的视图直接添加到您的自定义控制器的视图中。如果您需要它的委托方法,请不要释放 imagePickerController 本身。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2016-12-05
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多