【问题标题】:Accessing the top bar of UIImagePickerController Camera view访问 UIImagePickerController 相机视图的顶部栏
【发布时间】:2016-07-04 07:49:11
【问题描述】:

我正在使用UIImagePickerController 来显示相机视图,以便用户可以使用该应用拍照。但是,我想编辑UIImagePickerController's 相机视图顶部栏 - 我指的是允许用户切换设置的栏,例如闪光灯和前置摄像头。

使用UIImagePickerController 属性cameraOverlayView 我可以访问和修改相机视图。但是,我想知道是否可以专门访问顶部栏,或者找到它的尺寸。这是因为如果我可以访问它,维护我将添加的自定义视图对象会更容易(我不必猜测顶部栏的位置)。

谢谢,感谢任何帮助。

【问题讨论】:

  • 更改前后和闪光灯开/关是默认选项,当您呈现 uiimagepickercontroller 时会自动出现。
  • @Lion 是的 - 但是,我正在尝试在顶部栏上添加一个自定义计时器按钮。

标签: ios swift camera uiimagepickercontroller


【解决方案1】:

你可以这样做,

  self.pickerOverlayView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
UIButton *timerButton = [[UIButton alloc]initWithFrame:CGRectMake((self.view.frame.size.width/2) - 25, 10, 50, 30)];
[timerButton setTitle:@"Timer" forState:UIControlStateNormal];
[timerButton addTarget:self action:@selector(timerButtonclick:) forControlEvents:UIControlEventTouchUpInside];
[self.pickerOverlayView addSubview:timerButton];

picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[picker setCameraOverlayView:self.pickerOverlayView];

制作自定义叠加视图,然后创建按钮并添加到该叠加视图并将该视图设置为您的 imagepickercontroller 的cameraOverlayview

通过上面的代码,您将在 imagepickercontroller 顶部栏的中心获得计时器按钮。

pickerOverlayViewuiview 的属性类型。而pickerUIImagePickerController 对象。

timerButtonclick 是您可以处理以执行所需任务的方法。

希望这会有所帮助:)

【讨论】:

  • 感谢您的帮助,但不幸的是,这并不能回答我的问题。我意识到你可以像这样简单地添加一个覆盖视图,但是问题在于它的维护。这是因为每个设备的顶部栏的宽度都会发生变化,因此很难针对不同的屏幕尺寸进行维护。因此,我想知道是否有任何方法可以专门访问 UIImagePickerController 相机的顶部栏或其属性。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-30
  • 2013-12-15
  • 2011-06-03
  • 2014-11-13
相关资源
最近更新 更多