将UIlabel添加到相机覆盖视图uiimagepickercontroller Xcode objc

时间:2019-01-05 01:47:30

标签: objective-c xcode uilabel uiimagepickercontroller camera-overlay

我想在UIImagePickerController的自定义OverlayView之上添加一些UILabel,但似乎无法使其正常工作。

这是我的代码。

-(IBAction)getPhoto:(id)sender{
picker = [[UIImagePickerController alloc] init];

picker.allowsEditing = NO;

picker.sourceType =  UIImagePickerControllerSourceTypeCamera ;
picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;

OverlayView = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,1024)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(OverlayView.frame.size.height/2, OverlayView.frame.size.width/2, 30, 100)];
label.textColor = [UIColor whiteColor];
label.text = @"find Me";
[self.OverlayView addSubview:label];
[self.OverlayView bringSubviewToFront:label];
picker.cameraOverlayView = OverlayView;
CGSize screenSize = [[UIScreen mainScreen] bounds].size;   // 320 x 568

float scale = screenSize.height / screenSize.width*3/4;  // screen height divided by the pickerController height ... or:  568 / ( 320*4/3 )

CGAffineTransform translate=CGAffineTransformMakeTranslation(0,(screenSize.height - screenSize.width*4/3)*0.5);
CGAffineTransform fullScreen=CGAffineTransformMakeScale(scale, scale);
picker.cameraViewTransform =CGAffineTransformConcat(fullScreen, translate);
[self presentViewController: picker animated:YES completion:NULL];

}

概述显示出来,它是全屏显示,但没有标签 任何想法

1 个答案:

答案 0 :(得分:0)

您的标签刚好在屏幕外,请检查其框架

您可以像这样放置它,至少它是可见的

self.overlayView = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(self.overlayView.frame.size.width/2, self.overlayView.frame.size.height/2, 30, 100)];