ios 关于 通过加载 xib 生成的view,调用 addsubviews,sub view的按钮 不相应点击事件的 问题

测试环境: xcode Version 4.6 (4H127) , ios6.1


------

// self 是 LoginView ,是加载xib文件生成的:

    NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"LoginView"

                                                                 owner:nil                                                               options:nil];

           LoginView *viewLogin = (LoginView*)[[nibContents objectAtIndex:0] retain];

            viewLogin.frame = CGRectMake(0, 0, menuWidth, menuHeight);


            viewLogin.delegate = self;

            

            view = viewLogin;



---------



// addsubview调用 加载xib文件生成的view :sub view的 的按钮点击事件等可以响应

-(void) show_setViewOfLogin:(BOOL) isShow isWithAnimation:(BOOL) isWithAnimation

{

    

    if (isShow) {

        

        

        if (setViewOfLogin == nil) {

            

            NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"SetViewOfLogin"

                                                                 owner:nil                                                               options:nil];

            setViewOfLogin = (SetViewOfLogin*)[[nibContents objectAtIndex:0] retain];

            

            setViewOfLogin.frame = CGRectMake((1024- 800)/2.0, (748 - 220)/2.0, 800, 220);

            

            setViewOfLogin.delegate = self;

            

            [ShadowHandle addShadow:setViewOfLogin color:[UIColor blackColor]];

            


        }

        

        if ([setViewOfLogin superview] == nil) {

            

            [self addSubview:setViewOfLogin];

        }

        

        setViewOfLogin.hidden = NO;

        

            

    }

    else

    {

        if (setViewOfLogin != nil) {

            

            

            setViewOfLogin.hidden = YES;

            

        }

     

    }

    

    

}



// 

-(void) show_helpSystemView:(BOOL) isShow isWithAnimation:(BOOL) isWithAnimation

{


    if (isShow) {

        

        

        if (helpSystemView == nil) {

            

            helpSystemView = [[HelpSystemView alloc] initWithFrame:CGRectMake(0, 0, 1024, 748)];

            

            helpSystemView.delegate = self;

         

    

            

            

        }

        

        if ([helpSystemView superview] == nil) {

            

            [self.superview addSubview:helpSystemView]; // 这样可以响应, self.superview 没用 xib 生成;


// 如果是这样 用self 加入子视图的 则 会出现刚才说的 情况

[self addSubview:helpSystemView];


        }

        

        helpSystemView.hidden = NO;

        

      

        

        

        

    }

    else

    {

        if (helpSystemView != nil) {

            

            

            helpSystemView.hidden = YES;

            

        }

        

        

        

    }


    

}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值