- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读《Cocoa 编程》第四版。第9章挑战。我无法启动 editColumn:row:withEvent:select 。调用其他 tableView 实例方法有效。此方法位于 tableViewController 中,而不是 myDocumentController 中。如果此方法位于 myDocumentController 中,它将起作用。我不喜欢将其添加到 myDocumentController 的是让它工作所需的额外代码。
方法 editColumn:row:withEvent:select 得到处理,因为 TableView 滚动到该行。该方法的其余部分不起作用。
文档说:../此方法尝试使指定列和行处的 View 成为第一响应者,如果 View 支持编辑,则该 View 将开始编辑。/..
首先如何制作NSTableCellView
第一响应者?那么如何确保 NSTableCellView 是可编辑的呢?
我看到的是对[[tableView window] setInitialFirstResponder:[tableView self]];的引用和 [[tableView 窗口] makeFirstResponder:[tableView self]];
。这些不会使单元格的对象成为第一响应者。
BOOL editingEnded = [[tableView window] makeFirstResponder:[tableView self]];
if (editingEnded)
{
NSLog(@"End current edits sucessfull.");
}
else if(!editingEnded) {
NSLog(@"Unable to end editing.");
return;
}
// Select a row. There is no logic here yet.
NSUInteger row = 10;
[tableView editColumn:0
row:row // Row is scrolled into view but stays disabled.
withEvent:nil
select:YES];
最佳答案
表格单元格 View 使用哪种 View ?对于基于 View 的表格,-editColumn:row:withEvent:select:
尝试将单元格 View 设置为第一响应者。如果单元格 View 不接受第一响应者,那么它就不起作用。
您可以使单元格 View 接受第一响应者,如果这对于它的 View 类型有意义的话。
或者,您可以选择该行,然后使用 -[NSWindow makeFirstResponder:]
使单元格 View 的 subview 之一成为第一响应者。对于文本字段或 TextView ,这将有效地启动编辑。如果单元格 View 是 NSTableCellView
,那么您可能希望使其 textField
作为第一响应者。您可以使用 -[NSTableView viewAtColumn:row:makeIfNecessary:]
获取单元格 View 本身。
更新:
在下面的评论中,您将单元格 View 描述为“图像和文本表单元格 View ”,我认为它意味着IB中该名称的 View 集:带有的
和 NSTableCellView
>NSTextFieldNSImageView
连接到其导出的 subview 。由于您的单元格 View (NSTableCellView
)本身不可编辑,因此您不能使用--editColumn:row:withEvent:select:
。相反,您必须将其 subview 之一(在本例中为文本字段)设置为第一响应者。你必须明确地这样做。因此,您需要使用我在 7 月 31 日的评论中放置的代码:
[window makeFirstResponder:[[tableView viewAtColumn:0 row:row makeIfNecessary:NO] textField]];
即获得cell View ;从中您获得文本字段;然后您要求窗口将该文本字段设置为第一响应者。
鉴于您还希望选择该行,因此需要单独执行此操作:
[tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row] byExtendingSelection:NO];
如果窗口本身可能不是关键窗口,那么您需要将其设为关键窗口:
[window makeKeyAndOrderFront:nil];
关于objective-c - 如何-editColumn :row:withEvent:select: with NSView-based table view using core data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25004829/
我正在使用适用于 iOS 的 Mixare AR SDK,我需要解决一些发生的错误,其中之一是在点击 POI 的 View 时显示 POI 的信息。 前奏: Mixare 在 MarkerView V
虽然大多数苹果文档都写得很好,但我认为'Event Handling Guide for iOS ' 是一个异常(exception)。我很难清楚地理解那里描述的内容。 文件说, In hit-tes
我从 XCode 6.2 升级到 XCode 7.0.1 后收到此错误消息。 /Users/ZERO/Documents/Xcode/XXXXX/Library/SegmentedControl/Se
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
我对 View 触摸有疑问: 我有一个parentView(框架是(0,0,768,1024)),其中包含两个 subview (A和B),A框架(0,0,512,768)带有标签100,B框架(51
touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等只能被UIView捕获(如有问题请指出
我正在尝试在 VB6 模块中声明一个变量,如下所示: Public WithEvents MyObject As MyClass 帮助文件说 WithEvents只能在类模块中使用。为什么不能用在.b
我正在尝试创建一个类模块,当有人单击我表单中的六十个文本框之一时,它将充当全局处理程序。文本框代表一周的时间卡,显示一周 7 天的上类时间、下类时间、午餐开始、结束、持续时间、每日总小时数等信息。当有
我有一个 UserForm,xForm,它在类模块(假设为 TestClass)中实例化为: 'TestClass Dim Form as New xForm Private WithEvents E
WithEvents Collection - VB.NET 的最佳方法是什么? 您对下面的代码有任何评论(跳过 Nothing 验证)吗? 问题是当我在 For Each block 中获取 Lin
如果我用两根手指点击屏幕太快,touchesBegan被调用,但 touchesEnded不要求其中之一。 我疯狂地用谷歌搜索,这似乎是人们至少从 2010 年以来一直存在的一个严重问题。显然它还没有
我已向按钮添加了一些目标。他们工作得很好。但在我的 imageMoved... 方法中,如何确定两个事件中哪一个触发了它?这是我添加目标的位置: [button addTarget:self
我遇到了一个问题,当您触摸屏幕的左边缘。这似乎是 iOS 10 的一个新问题,并且只发生在具有 3D Touch 的设备(iPhone 6s 及更新版本)上。事实上,如果您在常规 -> 辅助功能中禁用
我正在制作一个应用程序,其中有一个背景 View ,并且有六个 UIImageView 作为 subview 。我有一个 UITapGestureRecognizer 来查看何时点击其中一个 UIIm
好吧,我是 Vb.NET 的初学者,虽然我几年前就开始学习然后休息了又开始又休息了。所以,无论如何,我仍然是初学者,我无法理解这个 WithEvents 实际上做了什么以及如何以及何时使用?我正在研究
我正在 Word 中开发一个 VBA 项目,并且在使用实现另一个类的类时遇到了处理事件的问题。 我定义了一个空类,IMyInterface : Public Sub Xyz() End Sub Pub
我收到错误 Handles clause requires a WithEvents variable defined in the containing type or one of its bas
当您单击按钮时,代码应该显示上下文菜单,但是当菜单出现时,它总是显示得比应有的更靠右和更高,而不是在单击的按钮(或鼠标,因为单击时它位于按钮上方)。 - (IBAction)menu:(id)send
问题 当用户触摸一个单元格时,应用程序由于 EXC_BAD_ACCESS 错误而崩溃。这已经使应用程序崩溃了一段时间(可能从 iOS 8、7 甚至 6 开始) 碰撞 崩溃发生在 AQGridView.
我是一名优秀的程序员,十分优秀!