2
我有几个句子通过标签(NSTextField)显示。这些句子有不同的单词,我希望用户点击每个单词,因此,根据用户点击的内容显示不同类型的信息。单击并编辑标签中的句子单词
现在,如果我正确地理解了这一点,对标签来说这似乎是不可能的。我有什么替代方案?我想将每个单词放在一个单独的NSButton上(并将按钮的设计更改为不再像按钮一样)。但是必须有一个更简单的解决方案呢?
我有几个句子通过标签(NSTextField)显示。这些句子有不同的单词,我希望用户点击每个单词,因此,根据用户点击的内容显示不同类型的信息。单击并编辑标签中的句子单词
现在,如果我正确地理解了这一点,对标签来说这似乎是不可能的。我有什么替代方案?我想将每个单词放在一个单独的NSButton上(并将按钮的设计更改为不再像按钮一样)。但是必须有一个更简单的解决方案呢?
有这个任务没有原生的决定,但你在正确的方向看:
1)有必要跟踪用户按压
2)有必要显示视图字与选择的选项
我有类似的任务,我做了这么:
我用的UITextView显示一些文字后,我发现,用户按下了一句话: 我加TapGesture我的UITextView,并禁用“ Ë ditable”中的UITextView
- (IBAction)gestureAction:(UITapGestureRecognizer *)sender
{
_textView = (UITextView *)sender.view;
CGPoint location = [sender locationInView:_textView];
CGPoint position = CGPointMake(location.x, location.y);
//get location in text
UITextPosition *tapPosition = [_textView closestPositionToPoint:position];
//word position
UITextRange *textRange = [_textView.tokenizer rangeEnclosingPosition:tapPosition withGranularity:UITextGranularityWord inDirection:UITextLayoutDirectionRight];
NSString *tappedSentence = [_textView textInRange:textRange];
NSLog(@"selected :%@ -- %@",tappedSentence,tapPosition);
if ([tappedSentence isEqualToString:@"Lorem"])
{
//show choise view
}
}
例如,如果挖掘字等于‘排版’中,我告诉pickerView一些选择,后(我知道所选文本的位置)我只需更换这个词,如果有问题, ,我可以回答...
PS抱歉,我没有注意到有关OS X编程的问题,但也可能对您有所帮助
谢谢。我是Objective-C和可可的新手。那么相当于UITextView的OSX应该是NSTextView吗?我会看看是否可以在OSX上使用你的解决方案。非常感谢。 – dorianbay
Ок,我将我的代码转换成OS X –