2016-05-13 8 views
0

Ich öffne eine Kamera auf uiimageview getapptes Ereignis und möchte Kamerabild entsprechend den angezapften Bildern hinzufügen. Ich habe vier Bilder aus meiner Sicht. Jede Bildansicht öffnet die Kamera separat. Sehen Sie sich meine CodeWie Bild auf uiimageview gemäß seiner Tag-Wert-Eigenschaft hinzufügen.

- (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

was ist das erste und zweite ... –

+0

das sind die Bildnamen Sir, ich habe vier Bilder in meiner Sicht –

Antwort

2

tun wie

Step-1

die gleiche Methode Namen für die Gestures Weisen

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]; 

Step-2

die Tags erhalten und den Tag übergeben

-(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]; 
} 

Step-3

setzen das endgültige Bild imagepickercontroller basierend auf Tag

- (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

sir gibt es mir Fehler für das Tag so "Property-Tag nicht auf Objekt des Typs uiimagePickerController" –

+0

auf dem gefunden Linie Sie gesehen diese –

+0

dieser Sir "picker.tag = tabbedIamage.tag;" –

Verwandte Themen