1

为了在我自定义的长 tableViewCell 中显示内容,我创建了一个滚动视图并在我的滚动视图中添加了一个无法滚动的 tableView,其中 tableviewcell 是我自定义的 tableviewcell 的一种。

在我的 TollStatusViewController.h

UITableView *selfTableView;
@property (retain, nonatomic) IBOutlet UIScrollView *fluxScrollView;

在我的 TollStatusViewController.m

self.fluxScrollView.clipsToBounds = YES;
self.fluxScrollView.indicatorStyle = UIScrollViewIndicatorStyleBlack;
[self.fluxScrollView setContentSize:CGSizeMake(1400.0, 154.0)];

selfTableView = [[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 1400.0, 154.0) style:UITableViewStylePlain] autorelease];
selfTableView.dataSource = self;

selfTableView.delegate = self;
selfTableView.scrollEnabled = NO;
[self.fluxScrollView addSubview:selfTableView];

和委托方法:

#pragma mark tableview-data-source

- (NSInteger)tableView:(UITableView *)_tableView numberOfRowsInSection:(NSInteger)section
{
    return 3;
}

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

- (CGFloat)tableView:(UITableView *)_tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row == 0) {
        return 38.0;
    }
    if (indexPath.row == 1) {
        return 56.0;
    }
    if (indexPath.row == 2) {
        return 56.0;
    }
    return 0;
}

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    ManyColumnsViewCell *cellView = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cellView == nil) {
        cellView = [[[ManyColumnsViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }


    return cellView;
}

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

}

然后我可以为我的fluxScrollView 启用水平滚动,这样我就可以在我的long manyColumnsViewCell 中显示内容。

但是当单击 tableView 中的一行时,会出现带有提示的崩溃

2012-08-17 15:43:14.789 MScope[2261:13a03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0x7e87960'

在我删除这个功能之后

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

    }

没有崩溃。

4

1 回答 1

1

这里投票最多的答案

我的 TollStatusViewController 是临时搭建的,所以我将它保留在它的对象中,并在对象的函数 -(void)dealloc 中进行dealloc,然后就可以了。

于 2012-08-17T08:14:30.443 回答