调整 NSCollectionViewItem 视图的大小

发布于 2024-08-08 19:46:22 字数 654 浏览 6 评论 0原文

如何以编程方式设置 NSCollectionViewItem 视图的大小?

我尝试在 NSCollectionView 子类中执行此操作:

@implementation CustomCollectionView

- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object {

    NSCollectionViewItem *newitem = [[self itemPrototype] copy];
    [newitem setRepresentedObject:object];  
    NSView *itemview = [newitem view];
    [itemView setFrame:NSMakeRect([itemView frame].origin.x, [itemView frame].origin.y,         [itemView frame].size.width, 500)];
    return newitem;
}

@end

但是此代码没有效果。我尝试对用于 NSCollectionViewItem 的 NSView 进行子类化,并将 setFrame: 添加到 initWithCoder 方法中,但是当我这样做时,我遇到了 EXC BAD ACCESS 崩溃。

How do I programatically set the size of a view of an NSCollectionViewItem?

I tried doing this in an NSCollectionView subclass:

@implementation CustomCollectionView

- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object {

    NSCollectionViewItem *newitem = [[self itemPrototype] copy];
    [newitem setRepresentedObject:object];  
    NSView *itemview = [newitem view];
    [itemView setFrame:NSMakeRect([itemView frame].origin.x, [itemView frame].origin.y,         [itemView frame].size.width, 500)];
    return newitem;
}

@end

However this code has no effect. I tried subclassing my NSView that I use for the NSCollectionViewItem, and adding setFrame: to the initWithCoder method, but I get an EXC BAD ACCESS crash when I do that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如梦亦如幻 2024-08-15 19:46:22

您可以查看 Steven Degutis 提供的这个开源 NSCollectionView 替代方案,巧合的是,我认为它今天刚刚发布到 GitHub(我今天通过 Twitter 注意到了它):

http://github.com/sdegutis/SDListView

看起来它允许您拥有不同高度的项目。

You might checkout this open source NSCollectionView alternative from Steven Degutis which, coincidentally I think was just posted to GitHub today (I noticed it today via Twitter):

http://github.com/sdegutis/SDListView

Looks like it allows you to have items with different heights.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文