2011-08-22 43 views
1

我有一个名为TheTextView的NSTextView。我添加了文本行,每行代表文件的完整路径,最后是\n。文本视图设置为not editable。我通过+-按钮添加或删除文本。在NSTextView上删除一行文字

假设用户可以选择一条线并将其删除。我试过

[TheTextView delete:nil]; 

但没有任何反应。我如何删除选定的行?虽然我们在这个主题中,当我点击一行时,是否有任何方法可以设置TextView来选择整条线?

感谢

编辑:

好了,我发现,如果我做了以下

[TheTextView setEditable:YES]; 
[TheTextView delete:nil]; 
[TheTextView setEditable:NO]; 

然后它工作。现在我需要知道如何在用户单击它时选择整条线,否则会在两条线之间留下空白区域,其中一条线被删除。想法?

回答

2

当您致电[TheTextView delete:nil]时,听起来像没有选择文字。尝试拨打setSelectedRange:以选择一行文本,然后尝试拨打delete:。例如:

[TheTextView setSelectedRange:NSMakeRange(0,24)]; 
[TheTextView delete:nil]; 

当然,您需要确定范围的正确开始和长度,以便与要删除的文本相对应。

+0

谢谢。我该如何调用setSelectedRange?对不起,但我是一个Obj-C的新手。我是C程序员。 –

+0

我试着用下面的方法:'NSRange range = [TheTextView selectedRange]; [TheTextView setSelectedRange:range]; [TheTextView删除:无];'但它没有工作。 –

+0

我一直在想如何做到这一点(确定正确的开始和长度),但我不知道,因为我甚至不知道如何获得选定的文本并做一个简单的strlen()。 –