gpt4 book ai didi

objective-c - 是否可以将 NSTableview "wrap"单元格放入新列?

转载 作者:行者123 更新时间:2023-12-03 17:12:20 25 4
gpt4 key购买 nike

我有一个标准的单列NSTableView,其设置如下:

1
2
3
4
5
6
7
8
9

是否可以让数据水平显示然后像这样换行?

1 2 3
4 5 6
7 8 9

或者我不应该完全使用 NSTableView 吗?我试图避免使用大量的逻辑来做到这一点。

最佳答案

你可以做到这一点,但直接没有这样的 api 来使其水平。您必须获取三列,然后将第一行数据插入到三列中。插入 3 列数据后,您必须开始填充下一行,就像您可以在 TableView 上实现的逻辑一样。另外,如何实现相同的效果是取一个数组,在数组中添加上述数字 1-9,然后运行内部循环,为每 3 个值获取可变字典,一旦插入三个值,就开始将数据放入行中,开始填充相同的行到下一行。以下是小代码以及您需要执行的绑定(bind):-

        1)Drag and drop arraycontroller 
now go to binding inspector and see the binding in the screen shot attached:-
![enter image description here][1]


[1]: /image/1dcDy.png

2) Now in your table view select first column and do the binding in attached screen shot
![enter image description here][2]
![enter image description here][3]


3) similarly do for second and third column with name inside model key path for second column give name second and for third column give third.

4) Once binding has done.
Write the below code in your method where you required:

-(void)awakeFromNib
{
int i,j=1,k=2,l=3;
self.yourArray=[NSMutableArray array];
for (i=0; i<3;i++)
{
NSMutableDictionary *dc=[NSMutableDictionary dictionary];
[dc setObject:[NSNumber numberWithInt:j] forKey:@"first"];
[dc setObject:[NSNumber numberWithInt:k] forKey:@"second"];
[dc setObject:[NSNumber numberWithInt:l] forKey:@"third"];
[self.yourArray addObject:dc];
[self setYourArray:self.yourArray];
j=j+3;
k=k+3;
l=l+3;
}
}


[1]: /image/6cm6M.png
[2]: /image/6cm6M.png
[3]: /image/51oET.png

关于objective-c - 是否可以将 NSTableview "wrap"单元格放入新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com