2016-05-13 56 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;」 –

相關問題