要自定义UISlider的视觉外观,您可以设置拇指和轨迹图像.部分轨道图像被拉伸到适当的位置.从文档:
可拉伸区域位于两个端盖区域之间.端盖定义图像的部分保持原样并且不被拉伸.可拉伸区域是端盖之间的1点宽区域,可以复制以使图像看起来更长.
现在我遇到的问题是我的可拉伸区域需要超过1点宽.(这是一种模式)不幸的是,1点宽度似乎在SDK中是硬编码的.
任何人都知道如何解决这个问题?或者我是否必须从头开始编写自己的滑块?
我的目标是为拇指图像创建一个更大的UISlider,高度为35像素.
我将UISlider子类化并添加了方法:
- (CGRect)trackRectForBounds:(CGRect)bounds
{
return CGRectMake(bounds.origin.x, bounds.origin.y, self.bounds.size.width, 50);
}
Run Code Online (Sandbox Code Playgroud)
然后我使用setThumbImage从我的控制器设置thum图像:
我的大拇指很好地展示了.
我遇到的问题是跟踪区域在19 px高度附近仍然是相同的,如何将它扩展到50?
谢谢
T.
为什么UISlider视图在设置为0.5时忽略alpha视图?
码:
for (int i = 0; i < 3; i++) {
UISlider *slider = [[[UISlider alloc]
initWithFrame:CGRectMake(0, i * 30, 200, 30)]
autorelease];
slider.alpha = 0.4 + (CGFloat)i / 10.0f;
[window addSubview:slider];
}
Run Code Online (Sandbox Code Playgroud)
结果:

滑块的alpha值为0.4,0.5和0.6.正如你所看到的,中间的0.5是完全不透明的.它接缝只发生在alpha 0.5.测试了其他UI控制器,它们按预期工作,alpha设置为0.5.
在真实设备上使用iOS 4.2,在模拟器中使用iOS 3.2和4.2转载.
顺便说一句,如果有人好奇我是如何以及为什么我遇到这个问题,那就是一个名为Slippy的益智游戏的滑动方向键盘配置.
我在UIScrollview中有一个(垂直)UISlider.我希望能够更改滑块的值,并且无需抬起手指,向左或向右滚动滚动视图.
期望的行为:
触摸垂直UISlider内部,然后向左或向右拖动手指使滚动视图滚动
实际行为:
触摸垂直UISlider内部,然后向左或向右拖动手指在UIScrollview中不会移动.在UISlider 外部触摸,然后拖动将按预期滚动滚动视图
UIView有一个名为exclusiveTouch的属性,好像它可能与我的问题有关.我尝试将它设置为NO,没有运气.
那么,如何设置我的UISliders以便它们下面的滚动视图能够响应源自UISliders内部的触摸?
我是iPhone新手,
如何让我的UISlider以1为增量从100增加到100 1?
slider = [[UISlider alloc] init];
[slider addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 1;
slider.maximumValue = 100;
slider.continuous = YES;
slider.value = 0.0;
- (IBAction)sliderChange:(id)sender{
NSLog(@"slider.value=%f",slider.value);
}
Run Code Online (Sandbox Code Playgroud)
当我滑动我的日志显示...
slider.value = 1.000000
slider.value = 1.123440
slider.value = 1.234550
slider.value = 1.345670
slider.value = 1.567890
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想将滑块值设为1.0,2.0,3.0等等......
任何帮助都会得到满足.
我正在开发我的第一个iOS应用程序,其中包含一个UISlider.我知道如何在UISlider拖动时获取值.但对于我的应用程序,我需要一键式获取滑块的值; 即如果我触摸某处UISlider,UILabel则应显示其正确值.
这样可能吗?任何教程或代码都非常有用.
我有两个滑块,我想根据另一个滑块的移动更新一个滑块的范围.
例如; slider_1和slider_2的范围均为1-10.当我将slider_1从位置1移动到2时,slider_2的范围从1-10变为1-20.如果我将slider_1从位置2移动到3,则slider_3现在的范围为1-30,依此类推.
我像这样初始化滑块:
function slider() {
$(".slider").noUiSlider({
orientation: "horizontal",
start: [0],
range: {
min: 0,
max: 10,
},
connect: 'lower',
direction: "ltr",
step: 1,
});
};
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够实现这一目标的最佳方法是解构整个滑块,并每次使用新的范围重新初始化它.但是我不确定如何正确解构滑块.
关于如何做到这一点的任何想法?
我设法增加我的拇指大小UISlider与Swift但触摸区域仍然太小,我的应用程序.
如何以编程方式增加触摸区域的大小UISlider?
我应该自己重新实现自定义滑块吗?
谢谢!
我正在使用Swift 3和Xcode 8.2.在斯威夫特很新.我有一个水平UISlider来控制从1到16的音量作为最小值和最大值,并且当我这样做时它返回浮点值print().如何将其值限制为整数?
@IBOutlet var ringValue: UISlider!
@IBAction func ringVolumeSliderChange(_ sender: UISlider)
{
print(sender.value)
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我正在开发一个应用程序,我有一个自定义UISlider.
但是,我遇到了一些关于如何使默认拇指看起来像iOS控制中心那样小的问题.
请注意,我想要相同的iOS拇指,而不是自定义拇指图像.到目前为止,我已经尝试thumbRect(forBounds...)但没有运气.
有什么建议?
uislider ×10
ios ×5
cocoa-touch ×4
iphone ×3
objective-c ×3
swift ×3
uikit ×3
alpha ×1
javascript ×1
jquery ×1
nouislider ×1
swift3 ×1
uiscrollview ×1