3

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

IBOutlet UILabel *l1;

@property(strong)NSString *myvariable;

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

在 File's Owner Connection Inspector 中,我将 l1 Outlet 连接到 l1 标签。

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

self.myvariable = l1.text;

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

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

提前致谢!抢

4

4 回答 4

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;

然后设置选择器:

- (void) pushAction
{
    self.myvariable = l1.text;
}
于 2013-04-07T17:33:22.993 回答
0

您可以创建一个自定义类扩展UILabel,它覆盖

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

您可以在 xib 的身份检查器中分配新的自定义 UILabel。

于 2013-04-07T17:25:44.957 回答
0
UILabel *lblname        = [[ UILabel alloc]initWithFrame: CGRectMake(10, 120, 200, 35)];
lblname.text            = @"sunil";
lblname.textColor       = [UIColor blueColor];
lblname.textColor       = [UIColor blueColor];
lblname.backgroundColor = [UIColor orangeColor];
[self.view addSubview:lblname];

UIButton *btnpress      = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnpress.frame          = CGRectMake(10, 180, 300, 20);
[btnpress setTitle:@"click" forState:UIControlStateNormal];
[btnpress addTarget:self action:@selector(btnpress1) forControlEvents:UIControlEventTouchUpInside];
btnpress.backgroundColor = [UIColor redColor];
[self.view addSubview:btnpress];
于 2014-12-22T07:35:38.860 回答
0

我想让我的整个屏幕作为一个按钮,当按下它时,会更改按钮上出现的标签上的文本。这就是我在 xcode 上的做法:

在情节提要中,我将一个按钮拖到界面上。在您编辑按钮的右上角,我将按钮内容设置为“组”而不是文本。不要在按钮上将 alpha 设置为 0。然后我在按钮/组的顶部拖动了一个标签。当 ctrl 拖动必要的动作和出口时,一定要通过暴露情节提要的左侧面板来做到这一点。更改按钮内容类型后,您可能只能通过鼠标访问该组。

于 2015-03-17T21:50:58.953 回答