我对这个iphone开发人员很新,我正在研究公司的一些现有代码.我试图设置初始值的uislider实际上是在UITableViewCell中,并且是一个自定义控件.我正在思考单元初始化
cell = (QuantitiesCell *)[self loadCellWithNibName:@"QuantitiesCell" forTableView:ltableView withStyle:UITableViewCellStyleDefault];
Run Code Online (Sandbox Code Playgroud)
我可以打电话给像
((QuantitiesCell *)cell).value = 5;
Run Code Online (Sandbox Code Playgroud)
实际的QuantitiesCell类具有成员值和以下函数
-(void)initCell;{
if (listOfValues == nil) {
[self initListOfValues];
}
quantitiesSLider.maximumValue = [listOfValues count]-1;
quantitiesSLider.minimumValue = 0;
quantitiesSLider.value = self.value;
}
-(void)initListOfValues;{
listOfValues = [[NSMutableArray alloc] initWithCapacity:10];
int j =0;
for (float i = minValue; i <= maxValue+increment; i=i+increment) {
[listOfValues addObject:[NSNumber numberWithFloat: i]];
if (i == value) {
quantitiesSLider.value = j;
}
j++;
}
}
Run Code Online (Sandbox Code Playgroud)
就像我说的那样,我对此非常陌生,所以如果我需要发布更多代码以显示最新情况,请告诉我,
此滑块始终默认为1,滑块范围通常为1-10,我想将其设置为我正在尝试编辑的项目的特定值.
我需要获取UISlider的当前值并将其放入变量中.我的UISlider名称是searchRadiusSlider,我想要的值%.0f.
我可以将它显示为一个字符串,如下所示:
[NSString stringWithFormat:@"%.0f", [(UISlider *)sender value]];
Run Code Online (Sandbox Code Playgroud)
但对于我的情况,我只想把它作为数字:
self.searchRadius= //what to put here
Run Code Online (Sandbox Code Playgroud)
Thx提前:)
我想创建一个非常胖的水平导向的UISlider.我知道很容易使它更长,但我如何使轨道(以及因此可以注册触摸事件的区域)更厚?
谢谢!
我有一个tableView自定义单元格,每个单元格都有一个UISlider.
现在我想创建一个方法来获取它们的值UISliders,但我不知道如何访问每个单元格及其滑块值.
提前致谢!
我有一个UISlider与minimumValue 0和maximumValue.我想打一个interval的0.5,并在显示它label(它的工作).
我怎样才能设置我的间隔slider?我试过解决方案来绕过价值...但我失败了.
谢谢
我有一个带UISlider的iPhone应用程序.当我的用户按下播放按钮时,我希望我的滑块从值1缓慢移动到值100.滑块在录制期间滑动,当用户按下播放按钮时播放.
我查看了UISlider文档.唯一可能对我有用的setValue:animated:方法就是方法.但是,当动画=是时,滑块移动到值100的速度太快.
有什么方法可以减慢它的速度吗?
我可以创建一个具有缓冲进度的自定义UISlider,就像Youtube应用程序中那样吗?我知道这个问题可能是我可能重复的; 但没有人能正确解决iOS或Swift中的问题
谢谢
我有一个带滑动手势的UIView.
let swipeUpGesture = UISwipeGestureRecognizer(target: self, action: #selector(NextStepCaptureVC.handleSwipeUp(gesture:)))
swipeUpGesture.direction = .up
view.addGestureRecognizer(swipeUpGesture)
func handleSwipeUp(gesture: UISwipeGestureRecognizer) {
print("Swipe Up")
heightSlider.setValue(20, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试更改它的值时,但值从0跳到20.我希望值在刷卡时连续变化.我该怎么做?
我有一个包含5个部分的滑块,我想逐步了解这些部分!而我做到了:
@IBAction func changeCostSlider(_ sender: UISlider) {
sender.value = roundf(costSlider.value)
}
Run Code Online (Sandbox Code Playgroud)
我也想在滑块的拇指上添加标签,我试图将此代码添加到上面的代码中:
let trackRect: CGRect = costSlider.trackRect(forBounds: costSlider.bounds)
let thumbRect: CGRect = costSlider.thumbRect(forBounds: costSlider.bounds , trackRect: trackRect, value: costSlider.value)
let x = thumbRect.origin.x + costSlider.frame.origin.x
let y = costSlider.frame.origin.y - 20
sliderLabel.center = CGPoint(x: x, y: y)
Run Code Online (Sandbox Code Playgroud)
但是,当我移动滑块时,我的标签会从将其放置在情节提要中的位置跳出来,并且会有些滞后!有人对如何将此标签添加到我的步进滑块并正常工作有任何建议吗?
我认为我的问题是我将UILable固定在storyborad中,当我将拇指移到滑块中时,稍微移动了一秒钟,它又回到了固定位置!我该怎么解决?
我尝试以编程方式添加我的UILabel,直到我触摸拇指后,它才起作用!它是如何完成的:
var sliderLableP = UILabel()
@IBAction func changeCostSlider(_ sender: UISlider) {
sender.value = roundf(costSlider.value)
print(costSlider.value)
let trackRect: CGRect = costSlider.trackRect(forBounds: costSlider.bounds)
let thumbRect: CGRect = costSlider.thumbRect(forBounds: costSlider.bounds , trackRect: trackRect, value: …Run Code Online (Sandbox Code Playgroud) 我正在构建一个iOS应用程序,我必须在其中实现自定义UISlider.问题是内置的UISlider不支持渐变轨道.另一个问题是我的UI样式指南显示当前跟踪值矩形应该是两种颜色的渐变,如图所示
如何构建UISlider的自定义版本?我想过要么继承现有的子类,要么构建一个UIControl子类.
我正在使用xcode 9.4和swift 4.2
提前致谢!
uislider ×10
ios ×8
iphone ×4
swift ×3
ios5 ×1
ios6 ×1
objective-c ×1
uikit ×1
uilabel ×1
uitableview ×1