iPhone开发应用中NSTableView相关操作

移动开发 iOS
iPhone开发应用中NSTableView相关操作是本文要介绍的内容,主要是来学习NSTableView的使用方法,如何使NSTableView同时支持拖拽替换和拖拽插入。

iPhone开发应用中NSTableView相关操作是本文要介绍的内容,主要是来学习NSTableView的使用方法,如何使NSTableView同时支持拖拽替换和拖拽插入。

当你的NSTableView做为一个拖拽目标时,你可能希望同时支持拖拽替换当前项目,或者拖拽后在当前位置插入新的项目。你需要使用NSTableView的 -setDropRow:dropOperation:方法。本文介绍如何通过代码实现NSTableView的这种拖拽功能。

代码如下所示:

  1. - (NSDragOperation) tableView: (NSTableView *) view  
  2.                  validateDrop: (id ) info  
  3.                   proposedRow: (int) row  
  4.         proposedDropOperation: (NSTableViewDropOperation) op  
  5. {  
  6.     [view setDropRow: row  
  7.                dropOperation: op];  
  8.     NSDragOperation dragOp = NSDragOperationCopy;  
  9.     return (dragOp);  

同时,在acceptDrop方法里进行如下操作:

  1. - (BOOL) tableView: (NSTableView *) view  
  2.         acceptDrop: (id ) info  
  3.                row: (int) row  
  4.      dropOperation: (NSTableViewDropOperation) op  
  5. {  
  6.     if (op == NSTableViewDropOn) {  
  7.         // 替换  
  8.     } else if (op == NSTableViewDropAbove) {  
  9.         // 插入  
  10.     } else {  
  11.         NSLog (@"unexpected operation (%d) in %s",  
  12.                op, __FUNCTION__);  
  13.     }  
  14.     return (YES);  

在NSTableView选择项改变时获取通知

代码如下所示:

  1. - (void) tableViewSelectionDidChange: (NSNotification *) notification  
  2. {  
  3.     int row;  
  4.     row = [tableView selectedRow];  
  5.               
  6.     if (row == -1) {  
  7.         //do stuff for the no-rows-selected case  
  8.     }   
  9.       
  10.     else {  
  11.        // do stuff for the selected row  
  12.     }  
  13. }  

这段代码需要放在NSTableView的delegate里。如果没有delegate,可以将自身设置为delegate。

小结:iPhone开发应用中NSTableView相关操作的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: cocoachina
相关推荐

2011-08-19 13:34:33

iPhone应用ABAddressBo

2011-08-17 10:24:50

iPhone开发UIImage图片

2011-08-10 17:37:00

iPhoneASIHTTPRequ

2011-08-15 15:44:46

iPhone开发PDF

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-12 14:33:06

iPhone缓存文件

2011-08-18 16:24:44

iPhone开发图片

2011-08-15 11:37:20

iPhone开发Mask

2012-04-26 13:26:58

iPhone应用技巧

2012-04-26 13:45:20

iPhone应用发布税务相关手续

2011-08-03 16:01:24

iPhone应用开发 自动登陆

2011-08-12 13:30:27

iPhoneASIFormData架构

2011-08-12 09:48:24

iPhoneCoreLocatio定位

2011-08-16 15:48:37

iPhone开发抓图程序

2011-08-15 13:44:07

iPhone开发UITableView

2011-08-08 13:50:29

iPhone开发 NSOperatio 多线程

2011-08-11 15:23:04

iPhoneNSBundleXcode

2011-07-26 11:13:15

iPhone PXL

2011-08-15 11:23:41

iPhone开发循环滚动UIScrollVie

2011-08-12 11:31:46

iPhoneUIView动画
点赞
收藏

51CTO技术栈公众号