몇 개의 버튼이 있습니다. 버튼 중 하나를 누르면 팝업되고 alertView는 사용자에게 사진을 찍거나 카메라 롤에서 선택하라는 메시지를 표시합니다. 이제 내가 가지고있는 문제는 12 개의 버튼과 12 개의 UIImageView가 있다는 것입니다. 모든 단추에는 경고가 표시되고 사용자가 옵션 중 하나를 선택할 수있는 자체 작업이 있습니다. 이제 didFinishPickingMediaWithInfo 메서드에서 카메라 또는 카메라 롤의 이미지를 첫 번째 imageView로 전달합니다. 이 모든 잘 작동하지만 다른 단추를 사용하여 다른 경고를 발생시키는 단추 2를 선택하려면 imageView 2 등을 설정해야합니다 (imageView1을 대체하지 않음). didFinishPickingMediaWithInfo에서 경고를 팝업 한 버튼 선택에 따라 설정할 imageView를 구별 할 방법이 필요합니다. 왜냐하면 현재 해당 이미지를 설정해야하는 다른 버튼을 선택하면 첫 번째 이미지보기가 설정되고 재설정되기 때문입니다.UIImagePicker가 두 개 이상의 이미지보기를 설정했습니다.
버튼에 대한 동작을 강조합니다.
-(IBAction) addPhoto1:(id) sender {
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Image Source" message:@"Take a photo or select a previously taken photo" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Take Photo", @"Select Photo", nil];
[alert show];
alert.tag = 101;
[alert release];
}
그리고 경고 clickedButtonAtIndex
: 이제 분명히이 올바른 imageViews 이미지를 설정하는 가장 좋은 방법은 버튼을 기반으로 무슨 옳지 않다
-(void) imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum:[image CGImage] metadata:dict completionBlock:nil];
if (addFirstImage.tag == 1001) {
firstImage.image = [info objectForKey:UIImagePickerControllerOriginalImage];
firstImage.layer.cornerRadius = 5;
firstImage.layer.masksToBounds = YES;
}
if (addSecondImage.tag == 1002) {
secondImage.image = [info objectForKey:UIImagePickerControllerOriginalImage];
secondImage.layer.cornerRadius = 5;
secondImage.layer.masksToBounds = YES;
}
}
}
: 여기
- (void)alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (alert.tag == 101) {
if (buttonIndex == 1) {
//Take photo
[self performSelector:@selector(takePicture:) withObject:nil afterDelay:0.0];
}
else if (buttonIndex == 2){
//Camera roll
[self performSelector:@selector(pictureAlbum:) withObject:nil afterDelay:0.0];
}
else if (buttonIndex == 0) {
NSLog(@"Cancel");
}
}
}
그리고는 didFinishPickingMediaWithInfo
입니다 원래 눌려진 경고에서?
많은 감사
Humm 확실하지 않습니다. 단지 버튼을 눌러서 didfinishpickingmediawithinfo에서 올바른 이미지보기를 설정했는지 알 수있는 방법이 필요합니다. if (action1이 실행 된 경우)와 유사하고 (action2가 실행 된 경우) 이미지보기 1을 설정 한 다음 이미지보기 2를 설정하는 등의 작업을 수행합니다. –