UITableViewCell中的水平UIScrollView

时间:2013-09-11 20:46:42

标签: objective-c uitableview uiscrollview

我正在尝试在tableview单元格中创建一个简单的scrollView。就像在应用程序商店,但更简单的滚动。

滚动视图正在显示,但根本不滚动。我已经尝试了谷歌的整个第一页和许多stackoverflow问题,似乎无法找到我做错了。

 if (indexPath.row==0) {
    // Clearing out cell background
    [cell setBackgroundColor:[UIColor clearColor]];
    [cell.contentView setBackgroundColor:[UIColor clearColor]];

    // Imageviews for scrollview
    UIImageView *imageview1 = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,123)];
    UIImageView *imageview2 = [[UIImageView alloc] initWithFrame:CGRectMake(320,0,320,123)];

    imageview1.image = [UIImage imageNamed:@"flash2.png"];
    imageview2.image = [UIImage imageNamed:@"IMG_2458.JPG"];

    // setting up scrollview
    self.scrollViewHeader = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320, 123)];
    self.scrollViewHeader.scrollEnabled = YES;
    self.scrollViewHeader.delegate = self;
    [self.scrollViewHeader setUserInteractionEnabled:YES];
    [self.scrollViewHeader setContentSize:CGSizeMake(320, 123)];
    [self.scrollViewHeader addSubview:imageview1];
    [self.scrollViewHeader addSubview:imageview2];
    [cell.contentView addSubview:self.scrollViewHeader];
}
else{
// Normal table cells.
...
}

提前感谢您的回答。

1 个答案:

答案 0 :(得分:3)

要滚动滚动视图,其内容大小必须大于其边界。

你有:

self.scrollViewHeader = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320, 123)];

然后

[self.scrollViewHeader setContentSize:CGSizeMake(320, 123)];

在这种情况下,它们都是相同的大小,因此它不会滚动。做:

self.scrollViewHeader = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,160, 123)];
[self.scrollViewHeader setContentSize:CGSizeMake(320, 123)];