editingStyleForRowAtIndexPath和didSelectRowAtIndexPath都不能一起工作

时间:2017-06-11 04:49:46

标签: ios objective-c uitableview

我有TableViewCell.xib文件,其中每个单元格可以是名称,联系人等数据的摘要。现在,如果我触摸单元格,它将转到另一个ViewController,其中将有该单元格的详细信息。数据。(这与ViewController显示的内容无关)。我想从这个xib文件的单元格触摸转到另一个ViewController。我怎么能这样做。

CallHistoryTableViewCell.h

@interface CallHistoryTableViewCell : UITableViewCell
@property(nonatomic, strong) IBOutlet UILabel *contactName;
@property(nonatomic, strong) IBOutlet UILabel *contactNumber;
@end

此课程有CallHistoryTableViewCell.xib个文件。

CallHistoryVC.h

@interface CallHistoryVC : UIViewController
@end

CallHistoryVC.m

#import "CallHistoryVC.h"
#import "CallHistoryTableViewCell.h"

@interface CallHistoryVC ()<UITableViewDelegate, UITableViewDataSource,CallingViewControllerDelegate> {
AppDelegate *appDelegate;

}
@property (nonatomic, strong) NSMutableArray<RecentCall> *sortedEventArray;
@property (weak, nonatomic) IBOutlet UITableView *tView;

@implementation CallHistoryVC

- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

[self defaultViewSetting];
_tView.delegate = self;
_tView.dataSource = self;
_tView.allowsSelectionDuringEditing = YES;
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 75;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _sortedEventArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CallHistoryTableViewCell";
CallHistoryTableViewCell *cell = (CallHistoryTableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
return cell;
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{

return UITableViewCellEditingStyleDelete;
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
 //do something
}
}

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

NSLog(@"%ld",(long)indexPath.row);
}
@end

现在问题是我的editingStyleForRowAtIndexPath工作正常,但未调用didSelectRowAtIndexPath。我已经完成了许多解决方案并添加了行_tView.allowsSelectionDuringEditing = YES;但没有工作。

请帮忙

截图:

enter image description here

0 个答案:

没有答案