我想将OS X Cocoa Tab视图的选项卡链接到特定操作,但ctrl + drag不起作用。
我found an other post of somebody that had about the same problem than I do,但它在iOS上,我无法适应OS X.我不知道我是否失败,因为我没有使用好的功能或者是因为其他原因。
以下是我在尝试调整另一篇文章中给出的方法时所做的事情:
首先,我按住Ctrl键并从标签视图拖动到"文件的所有者"并使其成为这个代表。
然后,我将此代码添加到AppDelegate.h:
- (void)tabBar:(NSTabView *)tabBar didSelectItem:(NSTabViewItem *)item
在AppDelegate.m上:
- (void)tabBar:(NSTabView *)tabBar didSelectItem:(NSTabViewItem *)item
{
if([item.identifier isEqualTo:@1])
{
NSLog(@"Click !");
}
}
我的标签的标识符" Apprendre"是1。
问题是当我运行此代码时,当我点击" Apprendre"标签。你知道我错在哪里吗?
答案 0 :(得分:2)
您使用了错误的方法。
- (void)tabBar:(NSTabView *)tabBar didSelectItem:(NSTabViewItem *)item
相反它应该是
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem
这是非常直接的。
将NSTabView
挂钩到代理人AppDelegate
。 (确保正确连接到TabView本身而不是其部件)
然后检查每个标签的标识符和标签:
然后委托方法如下:
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem{
if ([tabViewItem.identifier isEqualToString:@"1"]){
NSLog(@"ONE");
}
else{
NSLog(@"TWO");
}
}