大佬教程收集整理的这篇文章主要介绍了ios – 如何在Swift中实现范围滑块,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但是当我使用它时,滑块根本不会出现.难道也是因为它都是用Objective-C编写的吗?
这就是我目前的实现方式:
var rangeSlider = NMRangeSlider(frame: CGRectMake(16,6,275,34)) rangeSlider.lowerValue = 0.54 rangeSlider.upperValue = 0.94 self.view.addSubview(rangeSlider)
它没有向我展示,因为它全是白色的.所以解决方案,不使用任何其他框架并坚持使用这个 – 您需要为所有组件设置所有视图,然后它将显示良好:
我曾尝试在Swift中导入它,因为我之前在Objective-C代码中使用它,但没有任何运气.如果我正确设置了所有内容并将其添加到viewDidLoad()或viewDidAppear()中,则不会显示任何内容.但有一点值得一提 – 当我进入View Debug Hierarchy时,滑块实际上就在画布上:
但是在将其添加到视图之前,它根本没有使用我设置的所有颜色进行渲染.为了记录 – 这是我使用的代码:
override func viewDidAppear(animated: Bool) { var rangeSlider = NMRangeSlider(frame: CGRectMake(50,50,34)) rangeSlider.lowerValue = 0.54 rangeSlider.upperValue = 0.94 let range = 10.0 let onestep = 1.0 / range let minRange: Float = 0.05 rangeSlider.minimumRange = minRange let bgImage = UIView(frame: rangeSlider.framE) bgImage.BACkgroundColor = .greenColor() rangeSlider.trackImage = bgImage.pb_takeSnapshot() let trackView = UIView(frame: CGRectMake(0,rangeSlider.frame.size.width,29)) trackView.BACkgroundColor = .whiteColor() trackView.opaque = false trackView.alpha = 0.3 rangeSlider.trackImage = UIImage(named: "") let lowerThumb = UIView(frame: CGRectMake(0,8,29)) lowerThumb.BACkgroundColor = .whiteColor() let lowerThumbHigh = UIView(frame: CGRectMake(0,29)) lowerThumbHigh.BACkgroundColor = UIColor.blueColor() rangeSlider.lowerHandleImageNormal = lowerThumb.pb_takeSnapshot() rangeSlider.lowerHandleImageHighlighted = lowerThumbHigh.pb_takeSnapshot() rangeSlider.upperHandleImageNormal = lowerThumb.pb_takeSnapshot() rangeSlider.upperHandleImageHighlighted = lowerThumbHigh.pb_takeSnapshot() self.view.addSubview(rangeSlider) self.view.BACkgroundColor = .lightGrayColor() }
使用this question中提到的捕获UIVmage作为UIImage的@L_673_13@:
extension UIView { func pb_takeSnapshot() -> UIImage { UIGraphicsBeginImageContextWithOptions(bounds.size,false,UIScreen.mainScreen().scalE) drawViewHierarchyInRect(self.bounds,afterScreenupdates: truE) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image } }
其他方案:
您也可以尝试使用sgwilly/RangeSlider,它是用Swift编写的,因此您甚至不需要桥接标题.
以上是大佬教程为你收集整理的ios – 如何在Swift中实现范围滑块全部内容,希望文章能够帮你解决ios – 如何在Swift中实现范围滑块所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。