zoukankan      html  css  js  c++  java
  • Snail—UI学习之得到某组件的方法

    第一种方法:依据传入函数的參数对象的tag属性区分

    比方 多个button运行同一个方法,可是不同的方法运行时。里面的逻辑又不一样 那就得加以区分 这时能够用tag来差别

    //再新建一个Button
        UIButton * button2 = [UIButton buttonWithType:UIButtonTypeSystem];
        button2.frame = CGRectMake(20, 60, 280, 30);
        button2.tag = 2;
        button2.backgroundColor = [UIColor redColor];
        [button2 setTitle:@"点我2" forState:UIControlStateNormal];
        //此action中得click:是代表有參数的click方法
        [button2 addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button2];
        
        //自己定义按钮  UIButtonTypeCustom
        UIButton * button3 = [UIButton buttonWithType:UIButtonTypeCustom];
        button3.frame = CGRectMake(20, 100, 31, 30);
        
        [button3 setTitle:@"点我3" forState:UIControlStateNormal];
        button3.tag = 3;
        //设置button的初始状态  已经选择的状态
        button3.selected = NO;
        //设置自己定义按钮两种状态下得不同图片
        //未选中状态显示的是第一个图片 选中状态后是后边的一个图片
        [button3 setImage:[UIImage imageNamed:@"star_icon@2x.png"] forState:UIControlStateNormal];
        
        [button3 setImage:[UIImage imageNamed:@"star2_Gray@2x.png"] forState:UIControlStateSelected];
        [button3 addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button3];
        
    }
    
    
    //假设有多个按钮要触发同一个操作,可是又想实现不同按钮方法将运行不同操作时,就要推断一下是哪个按钮按下了
    - (void)click:(UIButton *)button{
        if (button.tag == 2) {
            NSLog(@"button2 点我了");
        }else if (button.tag == 3){
            NSLog(@"button3 点我了");
        }
    }
    

    2、能够通过设置全局变量来实现

    #import "WJJRootViewController.h"
    
    @interface WJJRootViewController (){
        <span style="color:#FF0000;">//为全局变量 在此类的不论什么地方都能够得到此对象
        UIButton * _button3;</span>
    }
    
    @end
    
    @implementation WJJRootViewController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    3、由于在一个界面中。我们要得到的都是此界面中得控件,所以能够通过以下的方法得到
    UIButton * btn = (UIButton *)[self.view viewWithTag:3];

  • 相关阅读:
    2955 ACM 杭电 抢银行 01背包 乘法
    杭店 ACM 1864 最大报销额 01背包
    【ACM】 1231 最大连续子序列
    如何保证消息队列的幂等性
    Kafka如何保证消息的高可用
    消息队列的优点和缺点
    架构学习和经验积累的方法
    如何撰写总体设计与详细设计文档
    如何做合格的面试官
    如何设计好的接口
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5405467.html
Copyright © 2011-2022 走看看