3

このビデオでわかるように、トリミング ボックスをトリミングまたは移動しようとすると、元に戻ります。これを行う方法が見つかりません。私のコードは正しいと思います。どうすればいいですか?

- (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view, typically from a nib.
  if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
    UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                          message:@"Device has no camera"
                                                         delegate:nil
                                                cancelButtonTitle:@"OK"
                                                otherButtonTitles: nil];
    [myAlertView show];
  }
}

- (IBAction)takePhoto:(UIButton *)sender {
  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.imageView.image = chosenImage;
  [picker dismissViewControllerAnimated:YES completion:NULL];
}
4

1 に答える 1

0

画像が遠すぎる場合は、このメソッドを使用して元のアニメーションに戻します。

[UIView animateWithDuration: animations: completion:]

アニメーション: はブロックであり、追加した画像の位置を変更したい場合は、期間中に CGRects などを変更します。[image setRect:(CGRectMake(orginPosition.x, orginPosition.y, size.width, size.height))];

完了: ブロックですが、必須ではありません。

于 2013-07-20T13:21:58.523 に答える