首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有IB的情况下获得点击UIButton的标签?

如何在没有IB的情况下获得点击UIButton的标签?
EN

Stack Overflow用户
提问于 2010-11-29 12:25:53
回答 3查看 2.7K关注 0票数 0

有人能告诉我,当我点击UIButton时,如何得到它的标签吗?

我已经制作了5个按钮,标签为1,2,3,4和5(所有按钮都调用相同的方法getTag )。

我尝试了以下方法

-卫理神-1

-(void)getTag{ //我知道这是行不通的。

-卫理神-2

-(GetTag):(Id)发送方{//无法访问sender.tag属性}

-卫理神-3

-(GetTag):(UIButton*)发送方{//程序崩溃}

我不使用IB,请帮忙……

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-29 12:29:42

方法2和-3都可以是正确的-在方法2中,您只需要显式地将发件人强制转换为UIButton,例如:

代码语言:javascript
复制
-(void)getTag:(id)sender{ 
    UIButton *btn = (UIButton*)sender;
    switch (btn.tag){
     ...
    } 
}

方法1和方法2和3不工作的可能原因是您分配给按钮操作的选择器错误。对于方法1,它应该是

代码语言:javascript
复制
@selector(getTag)

第二

代码语言:javascript
复制
@selector(getTag:); // NOte ':' in selector which denotes that method gets 1 parameter
票数 2
EN

Stack Overflow用户

发布于 2010-11-29 12:30:06

使用方法2和代码如下,

代码语言:javascript
复制
UIButton *button = (UIButton *)sender;



button.tag;
票数 1
EN

Stack Overflow用户

发布于 2010-11-29 12:28:45

代码语言:javascript
复制
UIButton * myB = [[UIButton alloc]init];

myB.tag = 2;

NSLog(@"TAG=%i",myB.tag);

//OUTPUT: 'TAG=2'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4303666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档