ios - 为何按钮点击无反应?
PHPz
PHPz 2017-04-17 17:59:40
0
6
303
/*这段代码功能是添加按钮,视图上移,但是发现在上移的视图里,添加的按钮不响应,这是为什么呢?*/


    -(void)showView
    {
        UIView *addView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREENSIZE.height,SCREENSIZE.width, 80)];
        [addView setBackgroundColor:[UIColor whiteColor]];
        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 80, 40)];
        [btn setTitle:@"相册" forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
        [btn addTarget:self action:@selector(openPhoto1) forControlEvents:UIControlEventTouchUpInside];
        [addView addSubview:btn];
        [self.view addSubview:addView];
        
        //计算控制器的view需要平移的距离
        CGFloat moveY=0;
        if (_bShowAddView==false)
            moveY  = -80;
        else
            moveY=0;
        _bShowAddView=!_bShowAddView;
        //
        //    // 4,执行动画
        [UIView animateWithDuration:0.5 animations:^{
            self.view.transform = CGAffineTransformMakeTranslation(0, moveY);
        }];
    }
    -(void)openPhoto1
    {
        NSLog(@"test");
    }
PHPz
PHPz

学习是最好的投资!

全員に返信(6)
Peter_Zhu

インターフェイス コントロールが親コントロールの位置を超えています。
self.viewのフレームサイズを決定し、addviewのフレームサイズを見て、次にbtnのフレーム位置のサイズを見て、各レイヤーがself.viewのフレーム内にあることを確認してください~

いいねを押す +0
左手右手慢动作

はい、addview は範囲外であり、アニメーションに使用されるオブジェクトが間違っています。ありがとう。

いいねを押す +0
小葫芦

何を書きたいのか分かりませんが、 UIView *addView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREENSIZE.height,SCREENSIZE.width, 80)]; の frme の Y と height は、設定が間違っている場合は、変更して

をクリックしてください。
いいねを押す +0
PHPzhong

UIView是需要添加交互效果的,默认是不能接到点击效果、クリック効果を受け入れる属性を YES に設定すると完了です

いいねを押す +0
Peter_Zhu

親コントロールの範囲を超えているか、親コントロールの操作が許可されていません

いいねを押す +0
迷茫

対話する必要がある場合は、方法があります

  1. 不規則な親ビューをカスタマイズする (この質問の仕方がわからないと思います)

  2. ビューのタッチイベントで親ビューを基準とした位置を再定義します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート