SSCollectionView SSCollectionViewItem - 未显示任何项目

时间:2011-07-22 11:13:59

标签: iphone ios gridview sstoolkit

我遇到了SSCollectionView和SSCollectionViewItem的困难。

首先,我想从IB初始化它。但这对我不起作用。 我有一个SelectFooViewController:

@interface SelectFooViewController : SSCollectionViewController { ... }

并将其用作相应XIB的filesOwner。

 SelectFooViewController* selectFooVC = [[SelectFooViewController alloc]
 initWithNibName:@"SelectFooViewController" bundle:nil];

但是由于它无法工作,我不得不在viewDidLoad()中自己初始化它的属性。

此外,我无法显示除SSCollectionViewItems的backgroundColor之外的任何内容。我想要的是textLabel和图像。

- (SSCollectionViewItem *)collectionView:(SSCollectionView *)aCollectionView itemForIndexPath:(NSIndexPath *)indexPath {
    SSCollectionViewItem *item = [[[SSCollectionViewItem alloc] initWithStyle:SSCollectionViewItemStyleImage reuseIdentifier:itemIdentifier] autorelease];

    SSLabel* label = [[SSLabel alloc] init];
    [label setText:@"foo"];
    item.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"foo.png"]];
    item.textLabel = label;
    [label autorelease];

    return item;
}

我可以确认委托方法(用于确定行数,部分数等)是否已实现并按预期工作。但是我的项目都是空的 - 但是会对预期的弹出窗口做出反应。

有人看到我做错了吗? - 谢谢......

编辑:我也无法通过更改SSCatalog项目来显示本地图像

2 个答案:

答案 0 :(得分:2)

我只是想通了,我必须自己设置每个属性的框架(textLabel,detailTextLabel和imageView)。修好了。

答案 1 :(得分:0)

当您创建实例SelectFooViewController时,只需插入此行

selectFooVC.view;

selectFooVC.view.hidden = NO;

然后将其添加到视图中。

这是因为在您明确访问视图之前,视图不会被初始化。因此,只有在单击时才加载项目,而不是立即加载。你可以把它称为黑客,但我不称之为。 : - )