你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS tableViewCell點擊後顯示下拉菜單

iOS tableViewCell點擊後顯示下拉菜單

編輯:IOS開發綜合

//


1、具體的實現思路 就是 單機一個cell 的時候 在當前cell下在添加一個自己定義好的Cell,話不多說 代碼如下,具體的過程從代碼中去體會吧 本代碼是從一個NT 的demo上整理出來的。


// DDIUICtrl_Message.m

// DDInsurance

//

// Created by LeeYunHeNB on 14-9-26.

// Copyright (c) 2014年 XinMaHuTong. All rights reserved.

//


#import "DDIUICtrl_Message.h"

#import "DDIUICtrl_messageCell.h"

#import "DDUICtrl_menuCell.h"

@interface DDIUICtrl_Message ()


@property (weak, nonatomic) IBOutlet UITableView *my_tableView;

@property (nonatomic, strong) NSMutableArray *dataArray;

@property (assign)BOOL isOpen;

@end


@implementation DDIUICtrl_Message


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

if (self) {

// Custom initialization

}

return self;

}


- (void)viewDidLoad

{

[super viewDidLoad];

[self setTitle:@"我的消息"];

[self setLeftButtonText:@"" andBackground:[UIImage imageNamed:@"btn_back"]];

NSDictionary *dic = @{@"Cell": @"MainCell",@"isAttached":@(NO)};

NSArray * array = @[dic,dic,dic,dic,dic,dic];

self.dataArray = [[NSMutableArray alloc]init];

self.dataArray = [NSMutableArray arrayWithArray:array];

}


- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

// Return the number of rows in the section.

return self.dataArray.count;;

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

// Return the number of sections.

return 1;

}

// tableViewCell

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

{

if ([[self.dataArray[indexPath.row] objectForKey:@"Cell"] isEqualToString:@"MainCell"])

{

static NSString *CellIdentifier = @"MainCell";

DDIUICtrl_messageCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

cell = [[DDIUICtrl_messageCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleGray;

}

// cell.Headerphoto.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",indexPath.row%4+1]];

return cell;

}else if([[self.dataArray[indexPath.row] objectForKey:@"Cell"] isEqualToString:@"AttachedCell"]){

static NSString *CellIdentifier = @"AttachedCell";

DDUICtrl_menuCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

cell = [[DDUICtrl_menuCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleNone;

}

return cell;

}

return nil;

}

// tableView點擊事件

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

[tableView deselectRowAtIndexPath:indexPath animated:YES];

NSIndexPath *path = nil;

if ([[self.dataArray[indexPath.row] objectForKey:@"Cell"] isEqualToString:@"MainCell"]) {

path = [NSIndexPath indexPathForItem:(indexPath.row+1) inSection:indexPath.section];

}else{

path = indexPath;

}

if ([[self.dataArray[indexPath.row] objectForKey:@"isAttached"] boolValue]) {

// 關閉附加cell

NSDictionary * dic = @{@"Cell": @"MainCell",@"isAttached":@(NO)};

self.dataArray[(path.row-1)] = dic;

[self.dataArray removeObjectAtIndex:path.row];

[self.my_tableView beginUpdates];

[self.my_tableView deleteRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle];

[self.my_tableView endUpdates];

}else{

// 打開附加cell

NSDictionary * dic = @{@"Cell": @"MainCell",@"isAttached":@(YES)};

self.dataArray[(path.row-1)] = dic;

NSDictionary * addDic = @{@"Cell": @"AttachedCell",@"isAttached":@(YES)};

[self.dataArray insertObject:addDic atIndex:path.row];

[self.my_tableView beginUpdates];

[self.my_tableView insertRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle];

[self.my_tableView endUpdates];

}

}

@end




  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved