我有设置 setMinimumTrackImage 和 setMaximumTrackImage 的 UISLider。两个图像具有相同的分辨率。如果我移动滑块...图像显示不正确。当我拖动滑块控制拇指时,它们正在移动。我试着用
UIImage * sliderBarImage1 = [UIImage imageNamed:@"slider_b"];
UIImage * sliderBarImage2 = [UIImage imageNamed:@"slider_w"];
sliderBarImage1 = [sliderBarImage1 stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
sliderBarImage2 = [sliderBarImage2 stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
[self.slider setMinimumTrackImage:sliderBarImage1 forState:UIControlStateNormal];
[self.slider setMaximumTrackImage:sliderBarImage2 forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
无论是否带有stretchableImageWithLeftCapWidth 都不正确。当我旋转手机时,轨道上的图像缩放不正确,因此图像中的信息发生了偏移。类似于这篇文章中的图片:如何在 UISlider 上放置图片?. 当我移动滑块时,图像开始移动并且颜色在最小和最大轨道中没有重叠,从而导致丑陋的效果。
- (void)viewDidLoad {
[super viewDidLoad];
self.slider.maximumValue = 30;
}
- (void)slide:(UISlider *)slider {
NSLog(@"....progress slider value:%d", (int)slider.value);
CMTime showingTime = CMTimeMakeWithSeconds((int)slider.value, 1);
[self.player seekToTime:showingTime];
}
Run Code Online (Sandbox Code Playgroud)
每次我滑动 UISlider 时,控制台都会在我滑动时记录正确的数字。大约6秒。但滑块会跳回0;如果我将其滑动到大于 10 的值,例如 14,它会滑回到 10。
有谁能够帮助我 ?谢谢
我已经看到了有关此问题的答案,但没有实际的代码解释如何执行此操作,我是 swift 的新手,所以对如何执行这个简单的任务感到非常困惑。
我有一个但是我想在声明为真UISlider时禁用滑块功能。if
我当前有一个带有if声明的 UISlider,但无法解决如何禁用它。
@IBAction func radiusSlider(sender: UISlider) {
if location == false {
//Disable Slider
} else {
radiusData.radiusValue = Double(sender.value)
radiusLabel.text = "Radius: \(sender.value)km"
NSNotificationCenter.defaultCenter().postNotificationName(radiusValue, object: self)
}
}
Run Code Online (Sandbox Code Playgroud)
或者这会在 viewDidLoad 中?如果是这样怎么办?
希望可以有人帮帮我。我试图在 Swift 中制作一个步长值从 1 到 5 的 UISlider
我的代码是:
@IBAction func yearChange(sender: UISlider) {
let step: Float = 1
let currentValue = round(sender.value / step) * step
print("\(currentValue) year")
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,其中有几个 jq UI 滑块。我有一个特殊的,只有 5 个步骤。这是小提琴,这是片段(第一个小提琴和片段):
$(function() {
$( "#slider" ).slider({
min: 1,
range: false,
max: 5,
value: 1,
animate:"slow",
orientation: "horizontal",
slide: function( event, ui ) {
$(".value").text("slider value: " + ui.value);
}
});
});Run Code Online (Sandbox Code Playgroud)
body {
padding: 0px;
margin: 0px;
background-color: #333;
color: #FFF;
font-family: arial;
font-size: 20px;
}
.slider-holder {
padding: 15px;
margin: 0px;
}
.value {
margin: 15px 0px 0px 0px;
display: inline-block;
}Run Code Online (Sandbox Code Playgroud)
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
</head> …Run Code Online (Sandbox Code Playgroud)我有一个视频播放器滑块,我想在用户开始滑动视频播放器滑块并结束滑动视频播放器滑块时跟踪事件。此外,我正在跟踪哪些滑块值发生了变化。当滑块启动并更改其值时,我能够成功跟踪它。我的问题是滑动结束时我无法跟踪它。UIControlEvent我应该将哪个用于 sliderEndedTracking?
我正在使用以下代码:
// Slider actions for UIControlEvents
playerSlider.addTarget(self, action: #selector(sliderBeganTracking(_:)),
forControlEvents: UIControlEvents.TouchDown)
playerSlider.addTarget(self, action: #selector(sliderEndedTracking(_:)),
forControlEvents: UIControlEvents.TouchUpInside )
playerSlider.addTarget(self, action: #selector(sliderEndedTracking(_:)),
forControlEvents: UIControlEvents.TouchUpOutside)
playerSlider.addTarget(self, action: #selector(sliderValueChanged(_:)),
forControlEvents: UIControlEvents.ValueChanged)
// Slider Actions:
func sliderBeganTracking(slider: UISlider!) {
Log.Debug("sliderBeganTracking")
}
func sliderEndedTracking(slider: UISlider!) {
Log.Debug("sliderEndedTracking")
}
func sliderValueChanged(slider: UISlider!) {
Log.Debug("sliderValueChanged")
}
Run Code Online (Sandbox Code Playgroud) 在UI测试上的Xcode 9.0(9A235),与之交互UISlider与adjust(toNormalizedSliderPosition:)时不工作在所有UISlider嵌套在UITableViewCell。
我已经在许多不同的场景中进行了测试: - Normal UISliders 没有嵌入到UITableView使用该adjust方法的工作中。-UISlider与 a 共存UITableView但不在 Table View Cell 内继续使用adjust
-UISlider在 aUITableView中可以唯一标识。-UISlider在 a 中识别UITableView可以响应简单的事件,例如tap()
-UISlider在 aUITableView中识别根本不适用于adjust方法,即使我将行数修改为 1。错误消息是:
获取元素 pid 的属性失败:24415,elementOrHash.elementID:106102876671744.43:错误域=XCTDaemonErrorDomain 代码=13“获取属性 5011 的值返回 AX 错误 -25205。” UserInfo={NSLocalizedDescription=获取属性 5011 的值返回 AX 错误 -25205。}
我在网上找到的相关讨论:https : //forums.developer.apple.com/thread/77445
我已经就此向 …
我知道你如何拥有最小的轨道和最大的轨道图像,以及它如何可以伸缩.但是,根据我的需要,这可能不够控制.
我有一种情况,在左侧(最小轨道),我需要根据数据显示两种不同的颜色.左侧实际上代表两个数据,但是在最小值和最大值之间仍然只存在一个拇指.
那怎么能这样做?
任何示例代码?
我其实想要这样
在左侧,它是咧嘴笑的颜色,但当它超过拇指图像时,它变成红色..
学习Swift并创建一个只有标签和滑块的应用程序.我希望滑块在滑动时更改标签.
这是功能:
@IBAction func sliderChanged(_ sender: Any) {
label.text = String(Int(sender.value))
}
Run Code Online (Sandbox Code Playgroud)
我得到错误"类型的值'任何'没有成员'值'"如果我纠正它,它会尝试纠正代码:
@IBAction func sliderChanged(_ sender: Any) {
label.text = String(Int((sender as AnyObject).value))
}
Run Code Online (Sandbox Code Playgroud)
但仍有错误
模糊地使用'价值'