2016-05-13 99 views
0

我打开uiimageview点击事件的相机,并希望根据点击的图像添加相机图像。在我看来,我有四个形象。每个imageview将单独打开相机。看看我的代码如何根据标签值属性在uiimageview上添加图像。

- (void)viewDidLoad { 
[super viewDidLoad]; 


if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 

    UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error" 
                  message:@"Device has no camera" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles: nil]; 

    [myAlertView show]; 

} 






UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected)]; 
singleTap.numberOfTapsRequired = 1; 
[_first setUserInteractionEnabled:YES]; 
[_first addGestureRecognizer:singleTap]; 
_first.tag = 1; 

UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetectedforsecondimage)]; 
singleTap1.numberOfTapsRequired = 1; 
[_second setUserInteractionEnabled:YES]; 
[_second addGestureRecognizer:singleTap1]; 
_second.tag = 2; 

    } 

- (void)didReceiveMemoryWarning { 
[super didReceiveMemoryWarning]; 

    } 


    -(void)tapDetected{ 
NSLog(@"single Tap on imageview"); 

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.allowsEditing = YES; 
picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

[self presentViewController:picker animated:YES completion:NULL]; 

} 

-(void)tapDetectedforsecondimage 
    { 

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.allowsEditing = YES; 
picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

[self presentViewController:picker animated:YES completion:NULL]; 


    } 


    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 



UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 

self.second.image = chosenImage; 
[picker dismissViewControllerAnimated:YES completion:NULL]; 

    } 
+0

什么是第一个和第二个... –

+0

这些是图像名称先生,我有我的视图中的四个图像 –

回答

2

不喜欢

第1步

为你的手势分配相同的方法名

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; 
singleTap.numberOfTapsRequired = 1; 
    _first.tag = 1; 
    [_first setUserInteractionEnabled:YES]; 
[_first addGestureRecognizer:singleTap]; 


UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; 
singleTap1.numberOfTapsRequired = 1; 
[_second setUserInteractionEnabled:YES]; 
_second.tag = 2; 
[_second addGestureRecognizer:singleTap1]; 

步骤-2

获得标签和通过标签基于标签

到imagepickercontroller

-(void) tapDetected:(UITapGestureRecognizer *)gestureRecognizer{ 

    //Get the View 
    UIImageView *tabbedIamage = (UIImageView*)gestureRecognizer.view; 
    NSLog(@"%d",tabbedIamage.tag); 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.allowsEditing = YES; 
// set the tag 
picker.view.tag = tabbedIamage.tag; 
picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

[self presentViewController:picker animated:YES completion:NULL]; 
} 

步骤3

设置最终图像

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; 

if (picker.view.tag == 1) 
{ 
self.first.image = chosenImage; 
} 
else 
{ 
self.second.image = chosenImage; 
} 
[picker dismissViewControllerAnimated:YES completion:NULL]; 

} 
+0

先生它给了我这样的标签错误“属性标签找不到对象的类型uiimagePickerController” –

+0

其上你看到这行 –

+0

这一行先生“picker.tag = tabbedIamage.tag;” –

相关问题