我有幾個按鈕。當任一按鈕被按下時,它彈出,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