1

私は使用していますUITapGestureRecognizer

これは私のコードです:

Home.m:

- (void)viewDidLoad {
    [super viewDidLoad];
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAnim:)];
    [self.view addGestureRecognizer:tapGesture];

    UIButton *buttontest = [[UIButton alloc] init];
    buttontest.backgroundColor = [UIColor whiteColor];
    buttontest.frame = CGRectMake(0, 80, 40, 40);
    [buttontest addTarget:self action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:buttontest];
    [self.view bringSubviewToFront:buttontest];
}
- (void)test: (UIButton*)aButton {
//    TakePhoto *mvc = [[TakePhoto alloc]initWithNibName:@"TakePhoto" bundle:Nil];
//    [self.navigationController pushViewController:mvc animated:YES];
//    
//    [self.view removeFromSuperview];

    if (self.companyController) {
        self.companyController = nil;
    }
    self.companyController = [[TakePhoto alloc] initWithNibName:@"TakePhoto" bundle:nil];
    UIView *viewSuper = [[IQAppDelegate shareInstance] currentVisibleController].view;
    UIViewController *profile = self.companyController;

    profile.view.frame = viewSuper.frame;
    [viewSuper addSubview:profile.view];
    profile.view.frame = CGRectMake(viewSuper.frame.origin.x, viewSuper.frame.size.height, profile.view.frame.size.width, profile.view.frame.size.height);
    [UIView  beginAnimations:nil context: nil];
    [UIView setAnimationDuration:0.35];

    profile.view.frame = CGRectMake(viewSuper.frame.origin.x, viewSuper.frame.origin.x, profile.view.frame.size.width, profile.view.frame.size.height);

    [UIView commitAnimations];
}

}
- (void) tapAnim: (UITapGestureRecognizer*)gestureRecognizer {
// Show something
}

TakePhoto.m

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    picker.delegate = self;
    picker.allowsEditing = NO;
    [(UIViewController *)self.delegate presentModalViewController:picker animated:YES];

次のように、ビューを追加します。

--->ホーム

--->写真を撮る (ポップアップ ショーのように): [ライブラリから写真を選択] と [閉じる] の 2 つのボタンがあります。

「ギャラリーから写真を選択」機能を使用すると、写真を選択できず、UITapGestureRecognizer常に表示されます。

UITapGestureRecognizerギャラリーから写真を選択するときに無効にする方法は?

P/S: 私の英語でごめんなさい。

4

3 に答える 3

1

ジェスチャ レコグナイザーにはenabledプロパティがあります。NOジェスチャ認識機能を無効にするには、これを に設定します。これを簡単にするには、インスタンス変数を使用してタップ ジェスチャ レコグナイザへの参照を保持する必要があります。

于 2013-11-15T04:14:30.077 に答える
0

tapGesture.enabled=NO写真を選ぶ前に設定できます。

于 2013-11-15T04:15:17.727 に答える