如何在ios6.1中将表格视图列表显示为封面流

Posted

技术标签:

【中文标题】如何在ios6.1中将表格视图列表显示为封面流【英文标题】:how to display the list of table view as cover flow in ios6.1 【发布时间】:2013-03-05 07:47:49 【问题描述】:

我是 ios 编程新手。我在链接 http://code4app.net/ios/iCarousel-for-Cover-Flow/4f87d2db06f6e79d32000000 中找到了将图像视图显示为封面流的教程

但我的要求是将表格视图列表显示为封面流。请帮帮我。

【问题讨论】:

您找到解决方案了吗?我只是按照接受的答案进行操作,但是当我们开始触摸 UITableview 时,我无法向左或向右滚动。 【参考方案1】:

这里我使用了 iCarousel 视图。将 SDK(import iCarousel.h & iCarousel.m) 集成到您的应用程序后。在所有 icarousel 子视图中创建 ICarousel 视图和集成表视图。这是我的代码

在.h文件中

iCarousel *categorySubView;

在 .M 文件中。

-(Void)createIcarousel
                   categorySubView = [[iCarousel alloc]initWithFrame:CGRectMake(10, 108, 480, 125)];

                    // categorySubView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
                    categorySubView.delegate = self;
                    categorySubView.dataSource = self;
                    categorySubView.type=iCarouselTypeCoverFlow2;
                    [self.view addSubview:categorySubView];

    

    -(NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
    

        return 10;
    

    - (UIView *) carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view


        UITableView *sampleTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 150, 150) style:UITableViewStylePlain];
        sampleTable.dataSource = self;
        sampleTable.delegate = self;
        [sampleTable setBackgroundColor:[UIColor blackColor]];
        return sampleTable;


    

    - (BOOL)carousel:(iCarousel *)carousel shouldSelectItemAtIndex:(NSInteger)index


        return YES;
    


    - (CGFloat)carouselItemWidth:(iCarousel *)carousel
    
        //usually this should be slightly wider than the item views
        return 180;
    


    #pragma Table view delegate Methods



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

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
        return 10;
    

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

        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil) 

            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        

        // Configure the cell...
    //    cell.textLabel.text = [yourarray objectAtIndex:indexPath.row];

        return cell;

    

它的工作正常输出是这样的......

【讨论】:

谢谢 Ganapathy。我得到了答案。 你在哪里调用了这个(-(Void)createIcarousel)方法? 这基于您的要求,例如,如果您需要在加载自身时显示 Icarousel 视图,则将该代码放在 viewDidLoad 中。我只是将该代码放在该按钮操作中(在屏幕截图中转换按钮)。希望你能理解。 没什么。 Icarousel 和表格视图正在以编程方式添加,无需为此进行 xib 更改(使用表格加载 icarousal) 是的,它工作正常。但是当我将它与 .xib 文件一起使用时,它不起作用。

以上是关于如何在ios6.1中将表格视图列表显示为封面流的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa:如何让表格视图在每个单元格中绘制自定义视图

如何存储流数据并在颤动列表视图中显示新的和旧的?

如何在视图中将 ntext 字段显示为长字符串?

如何在表格视图上方添加封面照片(如路径或每个应用程序)

如何从azure中提取表格中的信息到adroid studio中的列表视图?

如何在 ASP.Net MVC 中将列表对象显示到视图中?