2015-09-14 23 views
8

Tôi đang sử dụng khung lớp phủ tùy chỉnh, trên máy ảnh. Trên thanh điều hướng, tôi có biểu tượng ứng dụng ở giữa và nút quay lại ở bên trái.Xóa nút hủy khỏi Máy ảnh tùy chỉnh

Vì vậy, tôi muốn xóa nút hủy mặc định bên cạnh nút chụp nhưng tôi không muốn xóa nút bấm máy ảnh. Tôi đã làm nghiên cứu nhưng tôi không tìm thấy một câu trả lời hoàn hảo. Tôi đã sử dụng đoạn mã sau nhưng nó cũng loại bỏ nút bấm.

[picker setShowsCameraControls:YES]; 

Trả lời

8

tôi cảm thấy bạn bạn nên thêm CameraOverlayView tùy chỉnh để uiimagepickercontroller của bạn và ẩn CameraControls.This thắng' t hiển thị nút hủy của bạn.

picker = [[UIImagePickerController alloc] init];     
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
[picker setShowsCameraControls:NO]; 
CGRect screenBounds= [UIScreen mainScreen].bounds ; 
UIView *overlayView = [[UIView alloc] initWithFrame:screenBounds]; 
[overlayView setAutoresizesSubviews:YES]; 
[overlayView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin]; UIButton *captureButton=[[UIButton alloc]initWithFrame:CGRectMake(screenBounds.size.width/2-30, screenBounds.size.height-60,60 , 60)]; 
[captureButton addTarget:self action:@selector(captureImage:) forControlEvents:UIControlEventTouchUpInside]; 
[captureButton setBackgroundImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal]; 
[overlayView addSubview:captureButton]; 
[picker setCameraOverlayView:overlayView]; 
[picker setCameraDevice:UIImagePickerControllerCameraDeviceRear];     
[self presentViewController:picker animated:YES completion:NULL]; 

Và đây là hành động cho nút Chụp.

-(void)captureImage:(UIButton*)sender 
{ 
[picker takePicture]; 
} 

Và sử dụng phương thức đại biểu này để tải hình ảnh.

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

Cảm ơn @deepesh. Thats làm việc như một say mê. –

3

Tôi nghĩ rằng bạn vô hiệu hóa nhưng về loại bỏ tôi không chắc chắn như tôi biết điều đó là không thể vì UIImagePickerController thừa hưởng UINavigationController. Sau đó, bạn có thể nhận được

UINavigationBar *bar = picker.navigationBar; 
[bar setHidden:NO]; 
bar.navigationItem.rightBarButtonItem = doneButton; 

Nó sẽ chỉ làm việc cho IOS 6

Bạn có thể sử dụng nguồn này ELCImagePickerController

+0

Tôi đã thử cách này nhưng không hoạt động. –

+0

Nó hoạt động với iOS 6, bạn có thể sử dụng đơn giản thư viện này https://github.com/B-Sides/ELCImagePickerController –

Các vấn đề liên quan