我遇到了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项目来显示本地图像
答案 0 :(得分:2)
我只是想通了,我必须自己设置每个属性的框架(textLabel,detailTextLabel和imageView)。修好了。
答案 1 :(得分:0)
当您创建实例SelectFooViewController时,只需插入此行
selectFooVC.view;
或
selectFooVC.view.hidden = NO;
然后将其添加到视图中。
这是因为在您明确访问视图之前,视图不会被初始化。因此,只有在单击时才加载项目,而不是立即加载。你可以把它称为黑客,但我不称之为。 : - )