-4

いくつかのスライダーを動的に作成したい

私の IBAction create1Slider で、スライダーを動かすことができます

私の IBAction create10Sliders では、スライダーを動かすことができません

なにが問題ですか?

- (IBAction) create1Slider:(id)sender {
    UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(150, 150, 100, 100)] autorelease];
    slider.minimumValue = 1;
    slider.maximumValue = 255;
    slider.continuous = YES;
    [self.view addSubview:slider];
    }

//////////////////////////

- (IBAction) create10Sliders:(id)sender {
for(int i=0; i< 10
; i++)
{

    UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(50, 50, 100, 100+i*80)] autorelease];
    forControlEvents:UIControlEventValueChanged];
    slider.minimumValue = 1;
    slider.maximumValue = 255;
    slider.continuous = YES;
    [self.view addSubview:slider];
    //[slider release];

}
}
4

2 に答える 2

1

クレアチンが同じ座標上にあるため、互いに配置された 10 個のスライダーすべてを作成することになりました

UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(50, 50, 100, 100+i*80)] autorelease];

あなたは50 と 50 と同じままでした。そしてx100として、100+i*80で変更しました。yheightwidth

として:

CGRectMake(x, y, width, height) 

y縦置きにしたい場合は変更が必要です。

于 2013-03-29T20:07:55.797 に答える
0

問題は、同じ原点 (50,50) で、10 個のスライダーすべてが互いに重なり合って作成されていることです。異なる原点 (特に y 値) が必要です。

その事実が見えない理由は、スライダーの背景のほとんどが透明だからです。したがって、これらの巨大な増加する長方形が重なり合っており、最大のものは他のすべてをカバーしています。しかし、あなたが見るのはトラックと親指だけです。問題を視覚化するには、各スライダーに背景色を指定します。その後、問題は完全に明白になります。

于 2013-03-29T20:08:06.847 に答える