xcode 使用 Swift 更改 UISlider 图像

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/25116011/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 05:19:21  来源:igfitidea点击:

Changing UISlider Images with Swift

iosxcodeswift

提问by user2428168

I'm trying to change the default images for UISliders with Swift. I'm editing didFinishLaunchingWithOptionsin AppDelegate.

我正在尝试使用 Swift 更改 UISliders 的默认图像。我正在编辑didFinishLaunchingWithOptionsAppDelegate

In Objective C you would do this:

在目标 C 中,你会这样做:

UIImage *maxImage = [UIImage imageNamed:@"slider-track.png"];
[[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal];

I've tried converting to Swift but have not been successful:

我试过转换为 Swift 但没有成功:

var maxImage:UIImage = UIImage (named:"slider-track.png")
UISlider.setMaximumTrackImage(image: maxImage, forState: UIControlStateNormal)

The first line is fine, but the second gives an error.

第一行没问题,但第二行报错。

What is the correct syntax for the second line?

第二行的正确语法是什么?

Thanks

谢谢

采纳答案by Kumar KL

From Doc Example

来自文档示例

let leftTrackImage = UIImage(named: "slider_blue_track")
customSlider.setMinimumTrackImage(leftTrackImage, forState: .Normal)

回答by Krishna Gawade

Changing UISlider thumb image with Swift

使用 Swift 更改 UISlider 拇指图像

yourSlider.setThumbImage(UIImage(named: "yourSlider.png"), forState: UIControlState.Normal)

    yourSlider.setThumbImage(UIImage(named: "yourSlider.png"), forState: UIControlState.Highlighted)

回答by beatrizanso

SWIFT 3

斯威夫特 3

class Slider: UISlider {

    @IBInspectable var thumbImage: UIImage?

    // MARK: Lifecycle

    override func awakeFromNib() {
        super.awakeFromNib()

        if let thumbImage = thumbImage {
            self.setThumbImage(thumbImage, for: .normal)
        }
    }
}

回答by Basir Alam

For Swift 3:

对于 Swift 3:

 mySlider.setThumbImage(UIImage(named: "icon_slider_thumb.png"), for: .normal)

回答by Faizal Nowshad KN

Changing images fast using slider in swift4

使用swift4中的滑块快速更改图像

class ViewController: UIViewController {
    //var slider1 = UISlider()


    var immgar = [UIImage(named: "bgspices.jpg"),UIImage(named: "index1.jpg"),  UIImage(named: "index2.jpg"),UIImage(named: "index3.jpg"),UIImage(named: "index4.jpg"), UIImage(named: "woods.jpg")]




                  override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBOutlet weak var imageview: UIImageView!

    @IBOutlet weak var slider: UISlider!




    @IBAction func slider1(_ sender: Any) {


        print("changeImage method being called!!!!");

        let slider1 = Int(slider.value)
        imageview.image = immgar[slider1]

回答by Varsha Vijayvargiya

UIImage *img = [UIImage imageNamed:@"slider"];

UIImage *trackImg;

if (isiPad) 
{

[[UISlider appearance] setThumbImage:img forState:UIControlStateNormal];
[[UISlider appearance] setThumbImage:img forState:UIControlStateHighlighted];
trackImg = [UIImage imageNamed:@"ipad_img.png"];
}
else 
{

 [[UISlider appearance] setThumbImage:[self imageWithImage:img scaledToSize:CGSizeMake(27, 27)] forState:UIControlStateNormal];
[[UISlider appearance] setThumbImage:[self imageWithImage:img scaledToSize:CGSizeMake(27, 27)] forState:UIControlStateHighlighted];
 trackImg = [UIImage imageNamed:@"img.png"];
  }

[[UISlider appearance]  setMinimumTrackImage:trackImg forState:UIControlStateNormal];
[[UISlider appearance]  setMaximumTrackImage:trackImg forState:UIControlStateNormal];