1

我是 Objective C 和 Cocoa 的新手,但我设法在一些视图等中添加了一个滑块。我明白了。

我想用代码添加多个滑块,我尝试了一个 for 循环和一个数组。它没有用,但这是我尝试过的代码:

NSMutableArray* myarray;
for (int i = 0; i<5; i = i+30) {
    [myarray addObject:[[NSSlider alloc] initWithFrame:NSMakeRect(15+i, 15, 30, 200)]];

}



for (int i=0; i<5; i++) {
    [firstView addSubview:[myarray objectAtIndex:i]];
    NSLog(@"%d",i);
}

(想向他们展示 30 分开,但没关系它没有工作。然后我尝试了这个,如果它甚至“通过”一个数组工作

[myarray addObject:[[NSSlider alloc] initWithFrame:NSMakeRect(15, 15, 30, 200)]];
[firstView addSubview:[myarray objectAtIndex:0]];

我试图只显示一个滑块。也不行。

但这有效:

    [firstView addSubview:[[NSSlider alloc] initWithFrame:NSMakeRect(45, 15, 30, 200)]];

为什么?什么是添加多个滑块/按钮/动态添加到视图中并不重要的正确方法?真正的想法是从 CoreData 获取数据,并且对于 CoreData 中的每个条目,它应该显示一个滑块。(但那很远)

我需要一些提示和技巧!提前谢谢各位!

顺便说一句,当我尝试以这种方式初始化数组时:

NSMutableArray* myarray = [[NSMutableArray alloc] init];

视图不加载(firstView 特别是因为这个视图是黑色的)

4

1 回答 1

2

你的第for一句话是完全错误的:

for (int i = 0; i<5; i = i+30)

它只会进入循环一次。这可能就是为什么你没有得到你想要的所有滑块的原因。

于 2013-06-06T11:34:06.027 回答