我有一个NSTextField标签,我想要在用户点击它时发生一些事情.
我以为我可以创建一个IBAction并将其链接到标签,但似乎没有任何事情发生.
有什么建议?
意向:
我这样做的原因是因为我想要一个标签,它是一个文件夹的超链接.也许我完全采取了错误的做法?
我的PersonController.m中的IBAction定义
- (IBAction)surnameLabelSelected:(id)sender {
NSLog(@"This should do something!");
}
Run Code Online (Sandbox Code Playgroud)
XIB文件
在XIB文件中,我在NSTextField标签Received Actions之间建立了连接.surnameLabelSelectedStaticText
And*_*sen 22
你有几个选择.弗朗西斯的答案是一种选择.另一个选择是子类NSTextField和覆盖-mouseDown:.像这样的东西(写在我的头顶,未经测试):
@interface ClickableTextField : NSTextField
@end
@implementation ClickableTextField
- (void)mouseDown:(NSEvent *)theEvent
{
[self sendAction:[self action] to:[self target]];
}
@end
Run Code Online (Sandbox Code Playgroud)
如果NSTextField的样式与您需要的外观更接近,那么这可能是更好的方法.如果您需要NSButton的功能(点击时突出显示等),请使用Francis的解决方案.
Fra*_*rew 11
标签是不可编辑的文本字段,因此不会向其目标发送操作.您希望使用NSButton并关闭其边框绘图并调整其大小以尽可能地拟合其文本以模拟标签.
| 归档时间: |
|
| 查看次数: |
6163 次 |
| 最近记录: |