2011-09-26 83 views
0

**我需要實現拖放在我的表視圖。我有一個表視圖在我的屏幕左側,我有一個圖像視圖在屏幕的右側。實現拖放在UITable視圖

我需要從我的表視圖拖動圖像到右側圖像視圖。

讓我解釋一下..

我命名爲 「myClass的」,其中包含的屬性ID,名稱和IMAGEURL一類。

圖片網址包含光譜庫alasset網址。

myClass.h

@interface myClass: NSObject { 
    NSInteger iD; 
    NSString *name; 
    NSString *imageURL; 
} 

@property (nonatomic, assign) NSInteger iD; 
@property (nonatomic, assign) NSString *name; 
@property (nonatomic, assign) NSString *imageURL; 

myClass.m

@implementation myClass 

@synthesize iD; 
@synthesize name; 
@synthesize imageURL; 

@end 

所以我添加50個的圖像細節與ID,名稱,如IMAGEURL MyClass的對象命名一個NSMutableArray as * BundleImagesArray *

我在一個表格視圖中顯示它。我的代碼是:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger) section { 
    //getting all image details with iD,name,imageURL as **myClass** objects  
    BundleImagesArray = [staticDynamicHandler getImageFromBundle]; 

    int count = [BundleImagesArray count]; 

    for (int i = 0; i<count; i++) { 
     //this array for easy scrolling after first time the table is loaded. 
     [imageCollectionArrays addObject:[NSNull null]]; 

    } 
    return count; 

} 

的cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    //removing all the subviews 
    if ([cell.contentView subviews]) { 
     for (UIView *subview in [cell.contentView subviews]) { 
      [subview removeFromSuperview]; 
     } 
    } 

    cell.selectionStyle = UITableViewCellSelectionStyleNone; 
    [cell setAccessoryType:UITableViewCellAccessoryNone]; 

    myClass *temp = [BundleImagesArray objectAtIndex:indexPath.row]; 


    //adding image view 
    UIImageView *importMediaSaveImage=[[[UIImageView alloc] init] autorelease]; 
    importMediaSaveImage.frame=CGRectMake(0, 0, 200,135); 
    [cell.contentView addSubview:importMediaSaveImage]; 

    //adding image label 
    UILabel *sceneLabel=[[[UILabel alloc] initWithFrame:CGRectMake(220,0,200,135)] autorelease]; 
    sceneLabel.font = [UIFont boldSystemFontOfSize:16.0]; 
    sceneLabel.textColor=[UIColor blackColor]; 
    [cell.contentView addSubview:sceneLabel]; 

    sceneLabel.text = temp.name; 

    if([imageCollectionArrays objectAtIndex:indexPath.row] == [NSNull null]){ 

     //getting photlibrary image thumbnail as NSDAta 
     NSData *myData = [self photolibImageThumbNailData::temp.imageURL] 

     importMediaSaveImage.image =[UIImage imageWithData:myData ]; 

     [imageCollectionArrays replaceObjectAtIndex:indexPath.row withObject:importMediaSaveImage.image]; 
    } else { 
     importMediaSaveImage.image = [imageCollectionArrays objectAtIndex:indexPath.row]; 
    } 

    temp = nil; 
    return cell 
} 

我需要從我的表視圖view.can任何一個拖動圖像到我的右側圖像提供給我一個很好的辦法做到這一點

回答

0

拖放不是iPad上的標準交互模式。用戶不會明白他們應該做什麼。您應該允許用戶使用簡單的輕擊來選擇左側表格視圖中的項目,然後根據選擇更新圖像視圖。看看Human Interface Guidelines