UITextView & UITextField обновляются при выборе изображения с камеры с устройства iPhone - PullRequest
1 голос
/ 20 декабря 2011

Перед каким-то странным моментом в моей карьере. У меня есть несколько uitextfield и один uitextview в моем UIViewController .... все отлично работает на симуляторе и iPhone 4 iOS v 4.3.5. Но в iPhone 4 iOS v 4.0.1 иногда я обновляю весь вид. Иногда это означало, что мои поля uitextfields и uitextview теряли текст после выбора изображения с камеры .....

для решения этой проблемы моя попытка была, когда вид исчезал, я сохранял значения в некотором массиве ..... и когда вид действительно появлялся, я показываю значения массива в текстовые поля ..... он прекрасно работает и с симулятором. но на этот раз мои приложения застряли на iPhone 4 iOS v 4.0.1.

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSLog(@"title : %@",actionSheet.title);
    if (![actionSheet.title isEqualToString:@"Success"] && ![actionSheet.title isEqualToString:@"Error"] && ![actionSheet.title isEqualToString:@"خطأ"]) {
        if(buttonIndex == 1) {
            if([UIImagePickerController isSourceTypeAvailable:
                UIImagePickerControllerSourceTypePhotoLibrary])
            {
                UIImagePickerController *picker= [[UIImagePickerController alloc]init];
                picker.delegate = self;
                picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                [self presentModalViewController:picker animated:YES];
                [picker release];
            }
        } else {
            UIImagePickerController *picker = [[UIImagePickerController alloc] init];
            picker.delegate = self;
            picker.allowsImageEditing = YES;
            picker.sourceType = UIImagePickerControllerSourceTypeCamera;
            [self presentModalViewController: picker animated:YES];
            [picker release];
        }
    }
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {

    float actualHeight = img.size.height;
    float actualWidth = img.size.width;
    float imgRatio = actualWidth/actualHeight;
    float maxRatio = 320.0/480.0;

    if(imgRatio!=maxRatio){
        if(imgRatio < maxRatio){
            imgRatio = 480.0 / actualHeight;
            actualWidth = imgRatio * actualWidth;
            actualHeight = 480.0;
        }
        else{
            imgRatio = 320.0 / actualWidth;
            actualHeight = imgRatio * actualHeight;
            actualWidth = 320.0;
        }
    }
    CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);
    UIGraphicsBeginImageContext(rect.size);
    [img drawInRect:rect];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    if(imageCount == 1){
        self.firstImage = image;
        self.previewImage1.image =firstImage;
    }else if(imageCount == 2){
        self.secondImage = image;
        self.previewImage2.image =secondImage;
    }else if(imageCount == 3){
        self.thirdImage = image;
        self.previewImage3.image =thirdImage;
    }else if(imageCount == 4){
        self.fourthImage = image;
        self.previewImage4.image =fourthImage;
    }
    [myImageNames replaceObjectAtIndex:imageCount-1 withObject:@"Assigned"];

    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

1 Ответ

1 голос
/ 27 декабря 2011

Решено .. Удалено приложение с устройства.затем перезапустил устройство и снова установил сборку .... Теперь нет проблем с обновлением uitextfield при выборе изображения с камеры .. chill парни ....: -)

...