第一种方法:依据传入函数的參数对象的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];

Snail—UI学习之得到某组件的方法的更多相关文章

  1. Snail—UI学习之UITextField

    简单看一下UITextField的属性 - (void)createTextField{ UITextField * textField = [[UITextField alloc] initWith ...

  2. Snail—UI学习之自己定义通知NSNotification

    背景是:一个界面跳转到第二个界面 然后 第一个界面发了一个通知  然后第二个界面收到这个通知后 把里面的数据取出来 在RootViewController.m中写入以下代码 #import " ...

  3. Snail—UI学习之导航视图控制器UINavigationController(系统)

    背景 有一个根视图控制器 然后跳转到第一个界面  第一个界面能够返回到根视图 也能够跳转到第二个视图 第二个视图能够直接返回到根视图 新建三个ViewController    RootViewCon ...

  4. Snail—UI学习之自己定义标签栏UITabBarController

    这里的背景跟上面的差点儿相同 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkF ...

  5. 【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...

  6. Android UI 设计之 TextView EditText 组件属性方法最详细解析

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . TextView 相关类的继承结构 ...

  7. Android开发1:基本UI界面设计——布局和组件

    前言 啦啦啦~本学期要开始学习Android开发啦~ 博主在开始学习前是完完全全的小白,只有在平时完成老师要求的实验的过程中一步一步学习~从此篇博文起,博主将开始发布Android开发有关的博文,希望 ...

  8. 【转】Android学习基础自定义Checkbox组件

    原文网址:http://forum.maiziedu.com/thread-515-1-1.html heckbox组件是一种可同时选中多项的基础控件,即复选框,在android学习中,Checkbo ...

  9. day 82 Vue学习三之vue组件

      Vue学习三之vue组件   本节目录 一 什么是组件 二 v-model双向数据绑定 三 组件基础 四 父子组件传值 五 平行组件传值 六 xxx 七 xxx 八 xxx 一 什么是组件 首先给 ...

随机推荐

  1. css-position属性实例2

    position 1) fixed 固定在页面某个位置 2) absolute 也可以固定在某个位置,一般结合relative使用 注: 1)fixed和absoulue区别,假如一个div固定在右下 ...

  2. JavaEE之JavaWeb简介

  3. 细说MySQL备份的基本原理(系列一 ) 备份与锁

    数据库作为一个系统中唯一或者主要的持久化组件,对服务的可用性和数据的可靠性要求极高. 作为能够有效应对因为系统软硬件故障.人工误操作导致数据丢失的预防手段,备份是目前最为常见的数据库运维操作. 考虑到 ...

  4. 注解实现json序列化的时候自动进行数据脱敏

    https://blog.csdn.net/liufei198613/article/details/79009015

  5. 交叉验证(Cross Validation)简介

    参考    交叉验证      交叉验证 (Cross Validation)刘建平 一.训练集 vs. 测试集 在模式识别(pattern recognition)与机器学习(machine lea ...

  6. Codeforces 379F New Year Tree 树的直径的性质推理

    New Year Tree 我们假设当前的直径两端为A, B, 那么现在加入v的两个儿子x, y. 求直径的话我们可以第一次dfs找到最远点这个点必定为直径上的点, 然而用这个点第二次dfs找到最远点 ...

  7. Python学习笔记之函数式编程

    python中的高阶函数 高阶函数就是 变量名指向函数,下面代码中的变量abs其实是一个函数,返回数字的绝对值,如abs(-10) 返回 10 def add(x,y,f): return f(x) ...

  8. linux中没有dos2UNIX或者UNIX2dos命令解决办法

    安装方法: 在http://linux.softpedia.com/progDownload/Dos2Unix-Download-5519.html下载hd2u-1.0.0.tgz [root@loc ...

  9. 微信小程序实现即时通信聊天功能的实例代码

    项目背景:小程序中实现实时聊天功能 一.服务器域名配置 配置流程 配置参考URL:https://developers.weixin.qq.com/miniprogram/dev/api/api-ne ...

  10. Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1

    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1 Python3.5安 ...