使用标签作为按钮 - 触摸标签时,为字符串赋值

use*_*308 3 xcode button uibutton uilabel

使用标签作为按钮我遇到了一些挑战.我有一个标签定义为UILabel,并在我的.h文件中声明了字符串变量:

IBOutlet UILabel *l1;

@property(strong)NSString *myvariable;
Run Code Online (Sandbox Code Playgroud)

在xib中,选中标签后,在Identity Inspector视图的Document下,将设置带有所需标签名称的Label字段 - 例如:l1.我在标签中也有一些静态文本.

在文件的所有者连接检查器中,我将l1插座连接到l1标签.

我的目标:当触摸标签时,我想简单地为字符串变量分配一个文本值,例如可能在.m文件中执行的操作:

self.myvariable = l1.text;
Run Code Online (Sandbox Code Playgroud)

我尝试失败的事情: - 在我的.h中设置UIButton, - 尝试在.m中设置UIButton - 在XIB Identity Inspector视图中,在Accessibility下,尝试选中按钮Traits复选框以启用标签为一个按钮

我还没弄明白.这可能是一个简单的标签问题,我对标签的大多数经验都包括静态文本显示,或使用纪元时间显示基于当前日期的倒计时.任何指导将不胜感激!

提前致谢!抢

mat*_*to0 6

环顾四周,大多数人建议使用实际按钮并将背景设置为透明或背景颜色.

也就是说,你可以这样做:

在viewWillLoad中:

    UILabel * label = [[UILabel alloc] init]; // change/delete to use your obj

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
[label addGestureRecognizer:tap];
label.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)

然后设置选择器:

- (void) pushAction
{
    self.myvariable = l1.text;
}
Run Code Online (Sandbox Code Playgroud)