我正在尝试在运行时增加UISlider的长度,但它不起作用。 这就是我在做什么。
- (IBAction)lengthenADSR:(UIButton *)sender {
CGRect aFrame = CGRectMake(870, 351, 200, 28);
mainAttackSlider = [mainAttackSlider initWithFrame:aFrame];
[mainAttackSlider removeFromSuperview];
[self.view addSubview:mainAttackSlider];
[mainAttackSlider setNeedsDisplay];
}
我做错了什么?或者是否无法在运行时更改UISlider长度? 谢谢。
答案 0 :(得分:1)
我将你的代码推断为我认为你已经做过的事情,所以如果我做出错误的假设,我会道歉。这听起来你的视图已经有了一个滑块,你正在制作一个具有固定长度的新滑块,所以我不确定将新长度设置为什么。但是,假设每次调用它时,你的方法都会将长度增加10。它看起来像这样:
- (IBAction)lengthenADSR:(UIButton *)sender {
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
mainAttackSlider.frame = CGRectMake(mainAttackSlider.frame.origin.x, mainAttackSlider.frame.origin.y, mainAttackSlider.frame.size.width+10, mainAttackSlider.frame.size.height);
}];
}
根据需要调整。下次,您应该考虑确保您的问题是明确的,以便您可以获得更准确的帮助。