IOS开发-自定义全局变量方法来定位界面元素的方法

假期的时候在写demo的时候遇到一个IOS界面元素定位的问题,今天跟同事交流这个问题,同事的思路是使用自定义全局变量、方法,或者可以叫定制全局变量和方法来实现界面元素的查找,思路如下:

1.在引入头文件的时候自定义系统类名,在.m或.h文件的头文件加以下代码:

#import <UIKit/UIKit.h>

@interface appstoreViewController : UIViewController
@property (strong, nonatomic) UIButton *osButton1;
@property (strong, nonatomic) UIButton *osButton2;
@end
2.在实例化一个view的时候,在代码里加以下代码:

//事件监听的问题
        CGRect btn1Frame = CGRectMake(100.0, 150.0, 60.0, 44.0);
        //两种不同的方式创建
        UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        btn1.frame =btn1Frame;
        //设置Title
        [btn1 setTitle:@"BTN1" forState:UIControlStateNormal];
        [btn1 setTag:10002];
        //[btn2 setBackgroundImage:[UIImage imageNamed:@"pic.png"] forState:UIControlStateNormal];
        [btn1 setBackgroundColor:[UIColor blueColor]];
        [btn1 addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn1];
        self.osButton1 = btn1;//把按钮全局话
    
        //事件监听的问题
        CGRect btn2Frame = CGRectMake(200.0, 150.0, 60.0, 44.0);
        //两种不同的方式创建
        UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        btn2.frame =btn2Frame;
        //设置Title
        [btn2 setTitle:@"BTN2" forState:UIControlStateNormal];
        [btn2 setTag:10001];
        //[btn2 setBackgroundImage:[UIImage imageNamed:@"pic.png"] forState:UIControlStateNormal];
        [btn2 setBackgroundColor:[UIColor blueColor]];
        [btn2 addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn2];
        self.osButton2 = btn2;//把按钮全局话

3.定义方法如下,代码如下:

-(void)btnPressed:(id)sender{
    UIButton *thisBtn = (UIButton*)sender;
    //thisBtn.hidden = YES;
    //self.view viewWithTag:[00002];
//     UIButton *myButton = (UIButton *)[self.view viewWithTag:(10002)];
//    myButton.hidden = YES;
//    NSLog(@"this button tag is %d",thisBtn.tag);
    NSLog(@"self.view subViews %@",self.view.subviews);

//    UIButton* thisBtn = (UIButton *)sender;
//    [[[UIAlertView alloc] initWithTitle:@"Button" message:[NSString stringWithFormat: @"This is button:%@",thisBtn] delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil] show];
//    NSLog(@"this tag is %d",btn.tag);
    if ([sender isEqual:self.osButton1]){
        self.osButton2.hidden = YES;
    }else if ([sender isEqual:self.osButton2]){
        
    }else{
        NSLog(@"进这行了");
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lixp3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值