Ios 设置导致奇怪行为的UISlider的最大值
我在尝试使用UISlider时遇到了一个非常奇怪的问题,当我将滑块的最大值更改为>1.0时,我的视图中出现了一个奇怪的重复滑块。请帮忙:) 以下是slider.maximumValue=10.0时的情况; 下面是slider.maximumValue=1.0时的情况; 我缺少一个滑翔者的一些行为吗?这是我配置滑块的代码Ios 设置导致奇怪行为的UISlider的最大值,ios,objective-c,uislider,Ios,Objective C,Uislider,我在尝试使用UISlider时遇到了一个非常奇怪的问题,当我将滑块的最大值更改为>1.0时,我的视图中出现了一个奇怪的重复滑块。请帮忙:) 以下是slider.maximumValue=10.0时的情况; 下面是slider.maximumValue=1.0时的情况; 我缺少一个滑翔者的一些行为吗?这是我配置滑块的代码 -(void)layoutSubviews { [super layoutSubviews]; CGSize viewSize = self.content
-(void)layoutSubviews
{
[super layoutSubviews];
CGSize viewSize = self.contentSubview.bounds.size;
self.timeSlider.frame = CGRectMake(viewSize.width / 2 - 80,
viewSize.height / 2 - 12,
viewSize.width / 2,
24);
-(void)configureSubviews
{
[super configureSubviews];
self.timeSlider = [[UISlider alloc] initWithFrame:CGRectZero];
self.timeSlider.continuous = YES;
self.timeSlider.minimumValue = 0;
self.timeSlider.maximumValue = 1.0f;
[self.timeSlider addTarget:self action:@selector(timeValueChanged:) forControlEvents:UIControlEventValueChanged];
[self.contentSubview addSubview:self.timeSlider];
}
-(void)timeValueChanged:(UISlider *)slider
{
self.timeValueLabel.text = [NSString stringWithFormat:@"%d min", (int)floorf(slider.value)];
[self layoutSubviews];
}
布局子视图 布局子视图
- (void)layoutSubviews
讨论
此方法的默认实现在iOS 5.1及更早版本上不起任何作用。否则,默认实现将使用您设置的任何约束来确定任何子视图的大小和位置
- (void)layoutSubviews
子类可以根据需要重写此方法,以便对其子视图执行更精确的布局。仅当子视图的自动调整大小和基于约束的行为不提供所需的行为时,才应重写此方法。可以使用实现直接设置子视图的框架矩形
不应直接调用此方法。如果要强制布局更新,请在下次图形更新之前调用setNeedsLayout方法。如果要立即更新视图的布局,请调用layoutifneedd方法
引用方式我看不到这两个图像有什么不同。请确保仅调用一次ConfigureSubView查看左上角的第一个图像它是“显示滑块”拖动按钮它不在第二个图像中。我认为这是不同的@rmaddyOK,我现在看到它在左上角有半个拇指。你不应该直接调用layoutSubviews方法。我不知道我不应该直接调用layoutSubviews。我会按照你的建议修理它。谢谢