在NSTableView表中关闭“按回车编辑下一行”模式
时间: 2009-06-11 18:55 点击: 次
当用户在修改 表格中的数据时,按回车、 TAB 或者 shift+TAB 键,会结束当前的编辑,同时跳到下一行。 但是某些时候你可能不希望跳到下一行,用户希望编辑特定的行,并不想编辑其他
当用户在修改表格中的数据时,按回车、TAB或者shift+TAB键,会结束当前的编辑,同时跳到下一行。
但是某些时候你可能不希望跳到下一行,用户希望编辑特定的行,并不想编辑其他行。那么如何用代码禁用这一功能呢?
要结束编辑,你需要继承NSTableView类,在textDidEndEditing中增加自己的代码,以便托管消息,取消行的跳转,然后再让NSTableView进行其他处理。
代码如下:
- (void) textDidEndEditing: (NSNotification *) notification
{
NSDictionary *userInfo = [notification userInfo];
int textMovement = [[userInfo valueForKey:@"NSTextMovement"] intValue];
if (textMovement == NSReturnTextMovement
|| textMovement == NSTabTextMovement
|| textMovement == NSBacktabTextMovement) {
NSMutableDictionary *newInfo;
newInfo = [NSMutableDictionary dictionaryWithDictionary: userInfo];
[newInfo setObject: [NSNumber numberWithInt: NSIllegalTextMovement]
forKey: @"NSTextMovement"];
notification =
[NSNotification notificationWithName: [notification name]
object: [notification object]
userInfo: newInfo];
}
[super textDidEndEditing: notification];
[[self window] makeFirstResponder:self];
} // textDidEndEditing
顶一下(1)
100%
踩一下(0)
0%
发表评论
本类文章点击排行榜
- [06-18] Cocoa夜未央第一期 Cocoa的基本
- [06-18] UITableView实例教程:创建Tabl
- [06-18] Cocoa夜未央第三期 MVC,界面编
- [06-18] Cocoa夜未央第二期 xcode及基本
- [06-11] Google的开源苹果软件更新框架
- [06-02] XCode自带Source Control Manager(SC
- [06-11] Leopard轻松编程:帮你节省代码
- [06-11] WebKit的基本用法
- [06-18] NSLog 输出格式
推荐内容
最近更新
- [07-09] NSSlider控件出现残像的解决方法
- [07-07] 调用系统现成importer来获取文件metadata的方法
- [06-30] 实现鼠标拖拽删除对象时烟雾缭绕效果的代码
- [06-28] QuickLook 调用示例代码
- [06-22] Cocoa里的字符串,NSString介绍
- [06-22] Cocoa里参数传递引用的方法
- [06-21] 在 xcode中进行条件编译的方法
- [06-18] 将iPhone的png图片转换为可读png图片的Python源码
- [06-18] 在苹果应用程序里打开PDF文档的方法


XCode自带Source Control Manager(SCM)以及SnapShots用法
XCode、Cocoa开发中使用第三方dylib的方法
[系统控件重绘教程(二)]重绘NSButton
创建Xcode自定义模板的图文教程
在Cocoa中使用TagLib获取歌曲ID3信息
iLife 08风格的Source List代码