我有几个按钮。当任一按钮被按下时,它弹出,alertView要求用户拍摄照片或从相机胶卷中选择。现在我遇到的问题是我有12个按钮和12个UIImageViews。所有按钮都有自己的操作,弹出警报并允许用户选择任一选项。现在,在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
:
- (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
:
-(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;
}
}
}
现在很明显,这是不对的最新设置正确的imageViews形象的最佳方式基础上的按钮来自最初被按下的警报? (addFirstImage和addSecondImage都通过按钮链接IB)
非常感谢
Humm不知道..我只是需要一种方法来知道按钮被按下,以便它在didfinishpickingmediawithinfo中设置正确的图像视图。像if(action1被触发),然后设置图像视图一如果(action2被触发)然后设置图像视图2等等。 – 2012-07-23 12:45:05