我是iOS编程的初学者,我正在寻找我的问题的答案。
我在UITableViewCell中有一个UISlider,我正试图获得这种处置:Label-Slider-DetailLabel(动态)。
这是我的代码:
cell = [tableView dequeueReusableCellWithIdentifier:@"SelectedMeetingCell"];
[cell.textLabel setText:@"Duration"];
[cell.detailTextLabel setText:[Utilities StringFromDuration:Agenda.InitialDuration.doubleValue]];
sliderCell = (SliderCell*)[[UIViewController alloc] initWithNibName:@"SliderCell" bundle:nil].view;
[sliderCell setDelegate:self];
[sliderCell.slider setValue:Agenda.InitialDuration.doubleValue];
[cell.contentView addSubview:sliderCell];
sliderCell.slider.frame = CGRectMake(100, 0, 500, 44);
最后一行是我过去以我想要的方式放置滑块的方式。它适用于iPad,但完全不适用于iPhone版本。有没有办法根据设备自动调整滑块的宽度?
(SliderCell是一个带有UISlider @property的UITableViewCell)
提前谢谢大家!
答案 0 :(得分:2)
您可以获取容器视图宽度,并将滑块宽度设置为其百分比,而不是对值进行硬编码。
CGRect superViewFrame = slider.superView.frame;
CGRect sliderFrame = slider.frame;
sliderFrame.size.width = <your choice for eg, superViewFrame.size.width * 0.3f>
sliderFrame.origin.x = <your choice for eg, superViewFrame.size.width * .2f>
slider.frame = sliderFrame;
答案 1 :(得分:0)
您可以通过调用self.view
sliderCell.slider.frame = CGRectMake(100, 0, self.view.frame.size.width, self.view.frame.size. height);
您可能希望根据视图的大小进行减法或除法