recherche

Maison  >  Questions et réponses  >  le corps du texte

ios - 为何按钮点击无反应?

/*这段代码功能是添加按钮,视图上移,但是发现在上移的视图里,添加的按钮不响应,这是为什么呢?*/


    -(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");
    }
PHPzPHPz2890 Il y a quelques jours310

répondre à tous(6)je répondrai

  • 天蓬老师

    天蓬老师2017-04-17 18:01:40

    Le contrôle d'interface dépasse la position du contrôle parent.
    Déterminez la taille du cadre de self.view, regardez la taille du cadre de addview, puis regardez la taille de la position du cadre de btn et assurez-vous que chaque calque est dans le cadre de self.view~

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-17 18:01:40

    Oui, addview est hors de portée et l'objet utilisé pour l'animation est erroné. Merci.

    répondre
    0
  • 高洛峰

    高洛峰2017-04-17 18:01:40

    Je ne comprends pas ce que vous voulez écrire, mais le Y et la hauteur du cadre dans UIView *addView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREENSIZE.height,SCREENSIZE.width, 80)]; mal défini, changez-le et cliquez sur

    .

    répondre
    0
  • PHPz

    PHPz2017-04-17 18:01:40

    UIView是需要添加交互效果的,默认是不能接到点击效果, définissez l'attribut qui accepte les effets de clic sur OUI et le tour est joué

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:01:40

    Soit cela dépasse la portée du contrôle parent, soit l'interaction du contrôle parent n'est pas autorisée

    répondre
    0
  • 迷茫

    迷茫2017-04-17 18:01:40

    Si vous devez interagir, il existe un moyen

    1. Personnaliser une vue parent irrégulière (je suppose que vous ne savez pas comment poser cette question)

    2. Redéfinir la position par rapport à la vue parent dans l'événement tactile de la vue

    répondre
    0
  • Annulerrépondre