- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从一开始就开始编写 iOS 程序,但对 Cocoa 还很陌生,所以请温柔点!
我有一个 NSOutlineView 并已从主菜单实现了剪切/复制/粘贴来剪切/复制/粘贴所选行。
现在我还想允许用户在 NSTextFieldCell 中选择一些文本,复制它,将光标放在不同的 NSTextFieldCell 中,然后粘贴它。
通过在以下位置设置 BOOL,我设法发现用户正在单元格内工作:
- (BOOL)outlineView:(NSOutlineView *)anOutlineView shouldEditTableColumn:(NSTableColumn*)aTableColumn item:(id)anItem
并在我的编辑结束通知中取消设置,设置如下:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(editingDidEnd:)
name:NSControlTextDidEndEditingNotification object:nil];
这似乎工作正常。
然后,在我的剪切、复制、粘贴操作中,我可以检查 BOOL 并执行正确的操作 - 如果用户不在单元格中工作,则复制整行;如果用户在单元格中工作,则复制文本。
但是,当用户在单元格内工作时,我只是不知道如何获得我需要的内容。
我考虑过使用 NSText cut:、copy:paste: 方法,因为它们应该为我处理选择。但我认为我在任何地方都没有 NSText 对象!
或者,我需要能够从 NSTextFieldCell 中读取所选文本,保存它,然后在单元格中找到要粘贴的插入点,然后粘贴。
或者我缺少更好的内置支持吗?
非常感谢您收到的任何帮助 - 当然是特定的解决方案,而且还链接到 Cocoa 中文本/单元格/字段处理的背景底漆。
最佳答案
一如既往,我在发布后就找到了解决方案!
答案是,字段编辑器(NSTextView)是编辑单元格时的第一个响应者。它的父类(super class) NSText 是支持 cut:、copy: 和 Paste: 的类。
所以我的剪切复制粘贴命令的“单元格编辑”版本如下所示:
-(void)pasteTextToCell:(id)sender {
NSTextView* fieldEditor = (NSTextView*)[[appDelegate mainWindow] firstResponder];
[fieldEditor paste:sender];
}
-(void)copyTextFromCell:(id)sender {
NSTextView* fieldEditor = (NSTextView*)[[appDelegate mainWindow] firstResponder];
[fieldEditor copy:sender];
}
-(void)deleteTextFromCell:(id)sender {
NSTextView* fieldEditor = (NSTextView*)[[appDelegate mainWindow] firstResponder];
[fieldEditor cut:sender];
}
关于cocoa - 如何从 NSOutlineView 中的 NSTextFieldCell 中剪切和粘贴文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754485/
我有一个 NSTableView,我使用以下代码更改行的高度: - (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger
我创建了一个自定义 NSTextFieldCell 并覆盖了 - (void)drawInteriorWithFrame: (NSRect)cellFrame inView: (NSView *)co
我希望我的每个表格单元格都可以滚动,因为它是可编辑的。我正在使用 self.nsChildTextFieldObj = [[NSTextFieldCell alloc] init];
我有一个基于单元格的 NSOutlineView,它显示 NSTextFieldCell 对象。 我想响应 keydown 或 keyup 事件,以便在文本包含某些预设关键字时使 NSTextFiel
我有一个表格 View ,在该 View 上选择一行的一列将调用重写的方法 - (void)selectWithFrame:(NSRect)inCellFrame inView:(NSView *)i
我有基于 View 的 NSTableView,有 2 个文本列。 第一列使用自定义 NSTextFieldCell。第二列使用默认单元格。 这是自定义单元格代码: class CustomTextF
首先,我只需要文本上的一些背景颜色。就像 F 脚本浏览器中的标题 设置[cell setBackgroundColor: [NSColor blueColor]];为整个单元格空间着色,而不仅仅是文本
当你在drawInteriorWithFrame:inView:中调用[super drawInteriorWithFrame:cellFrame inView:controlView]时,有没有办法
我的 NSTextFieldCell 代码是: - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
我试图在选择单元格时更改 NSTextFieldCell 的背景颜色。 这是代码: - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)c
我有一个 NSTextFieldCell 子类,在实现中只有这个代码: - (NSRect)drawingRectForBounds:(NSRect)theRect { // Get the
我试图获取 NSTextFieldCell 的 NSPoint 坐标,但 NSTextFieldCell 不是从 NSView 继承的,因此没有框架方法。关于如何解决这个问题有什么想法吗? 我正在尝试
有什么方法可以根据 NSTableView 中的文本量调整 NSTextFieldCell 的高度吗? 简而言之,我希望 tableView:heightOfRow: 根据相应 NSTextField
我需要显示一个多行的 NSTextFieldCell,每行格式不同。 是这样的: 第 1 行:标题 第 2 行:描述 我对 NSTextFieldCell 进行了子类化,但我不知道如何继续使用它。 有
我的应用程序中有一个 NSTableView,其中的数据在 X 轴和 Y 轴上绘制(即,每一行都与每一列匹配。)我已经按照我想要的方式填充了单元格的数据,但水平延伸的柱子看起来很糟糕。 我想将 NST
我基本上想要实现的是更改表格中单元格的格式,以便在单元格未启用时将其清空。 为了定义是否启用表列中的单元格,我使用启用的绑定(bind)进行了绑定(bind),并且工作正常,启用了表的某些行中的单元格
我想在 TableView 中显示一个长度为(最大)4000 个字符的字符串。我尝试过使用 NSAttributedString 来找出 NSTextFieldCell 的行高,但是当我插入 > 4
我已经尝试了一两天,尝试在 NSTextField 的文本内绘制阴影(并使前景色透明,因此您看到的只是文本内的阴影)。我还没有取得理想的、实际的结果。我在此方面取得的唯一成功是将文本转换为 NSBez
我有一个 NSTableView,它显示一些代表我的自定义对象的信息。我没有使用绑定(bind)。 通常,我会创建自己的 NSCell 来显示数据,但这一次我需要一个 NSTextFieldCell,
如果用户在编辑 NSTextFieldCell 时输入了某些文本,我会尝试将 NSTextFieldCell 的内容加粗。 到目前为止我已经得到了这个: 在 awakeFromNib 中: [[NSN
我是一名优秀的程序员,十分优秀!