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

来源:互联网 发布:剑三脸型数据下载 编辑:程序博客网 时间:2024/06/10 11:22

假期的时候在写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