UITableView不响应UITableViewCell的选择

时间:2013-11-29 06:18:37

标签: ios iphone objective-c cocoa-touch uitableview

我创建了一个名为 _tableView UItableView,这是view.m中表格视图的代码。

   - (void)viewDidLoad
   {
         [super viewDidLoad];

         tableData = [NSArray arrayWithObjects:@"Team Members",@"MembershipStatus",@"relation of status",@"Registerd events", nil];
                [_tableView setUserInteractionEnabled:TRUE];
                 [_tableView  reloadData];
    }

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

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return [tableData count];
    }

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

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        [newCell setUserInteractionEnabled:TRUE];
        newCell.textLabel.text = [tableData objectAtIndex:indexPath.row];
        return  newCell;

    }

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSLog(@"id");
    }

执行代码时我正确地得到了表格。但是,当我选择其中一个列表项时,它将不会响应。 (即 NSLog 不起作用)。我错过了什么 ??或者我做错了什么?

4 个答案:

答案 0 :(得分:2)

-viewDidLoad写:

[_tableView setDelegate:self];

答案 1 :(得分:0)

检查tableview's delegate是否设置为viewController

@interface MyView : UIViewController <UITableViewDelegate, UITableViewDataSource>
viewDidLoad:

中的

self.tableview.delegate=self;

答案 2 :(得分:0)

检查您的代码

@interface ClassName : UIViewController <UITableViewDelegate, UITableViewDataSource>
in viewDidLoad:


self.tableView.delegate = self;
self.tableView.dataSource = self;

or

_tableView.delegate = self;
_tableView.dataSource = self;

答案 3 :(得分:0)

签入.h文件 @interface MyView:UIViewController是否设置。如果未设置则在那里设置第1。 然后在.m文件中创建TableView 你刚才写的

_tableView.delegate = self; _tableView.dataSource = self;