我想动态创建一些滑块
使用我的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];
}
}
答案 0 :(得分:1)
您最终创建了相互放置的所有十个滑块,原因是同一坐标上的肌酸激素。
UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(50, 50, 100, 100+i*80)] autorelease];
您将x
和y
保持为50和50. height
为100,并将width
更改为100 + i * 80。
如:
CGRectMake(x, y, width, height)
如果您希望垂直放置y
,则需要更改{{1}}。
答案 1 :(得分:0)
问题在于,所有10个滑块在相同的原点(50,50)处相互重叠。你需要它们的原点(尤其是y值)不同。
您无法看到这一事实的原因是滑块的大部分背景都是透明的。所以你有这些巨大的增长矩形重叠,最大的覆盖所有其他;但是你看的所有内容都是跟踪。要显示问题,请为每个滑块指定背景颜色。然后问题将显而易见。