如何让 UILabel 响应 IBAction?

Posted

技术标签:

【中文标题】如何让 UILabel 响应 IBAction?【英文标题】:How can I make UILable to respond to IBAction? 【发布时间】:2011-11-08 05:47:52 【问题描述】:

我已经自定义了 UITableViewCell(从笔尖加载的静态内容)。这个单元格包含一个 UILable,我想在用户点击它时更改它的值。 (将显示 PickerView,用户可以从中选择该标签的值)。

所以我创建了以下 IBAction。但是当我试图将它与那个 UIlable 连接时,它不允许我这样做。

-(IBAction)selectlanguage:(UILabel *)sender

/*
 Code to display pickerview and select appropriate language
 */

self.languageLable.text=@"Spanish";

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.userTranslationLanuage = @"en|sp";

谁能告诉我我错过了什么?

提交

【问题讨论】:

【参考方案1】:

只需在连接到此 IBAction 的标签上放置一个不可见按钮即可。 UILabel 对象并非旨在直接响应用户触摸。

【讨论】:

谢谢。决定以 Apple 的 DateCell 为例。当用户点击该行时,只需推送 PickerView。 如果这是对一行的唯一操作,那就最好了。仅当行有多个用途时才需要额外的按钮,例如该行用于设置语言和国家/地区。

以上是关于如何让 UILabel 响应 IBAction?的主要内容,如果未能解决你的问题,请参考以下文章

在 UILabel 中处理触摸事件并将其连接到 IBAction

如何让滚动视图子视图响应滚动

在 TableViewHeader 中以编程方式调用 IBAction

如何在 viewDidLoad 中调用 IBAction?

使用 NSUserDefaults 保存和检索 UILabel 值

每次单击按钮后,如何在 UILabel 上逐一显示文本?