Moh*_*iba 2 storyboard ios swift
我正在制作一个绘图应用程序,我希望当用户点击按钮时出现一个滑块,例如设置线条的宽度。我可以添加一个警报并在其中放置一个滑块吗?
小智 5
使用 Swift 3.0,您可以将滑块(或其他对象)添加到 UIAlertController 子视图。以下示例由 @IBAction 按钮触发以使用和更新 UserDefaults:UIAlertController 内的 UISider 示例
\n@IBAction func sliderButton(_ sender: AnyObject) {\n\n //get the Slider values from UserDefaults\n let defaultSliderValue = UserDefaults.standard.float(forKey: "sliderValue")\n\n //create the Alert message with extra return spaces\n let sliderAlert = UIAlertController(title: "Update Defaults", message: "Increase/Decrease the slider\xe2\x80\xa6\\n\\n\\n\\n\\n\\n", preferredStyle: .alert)\n\n //create a Slider and fit within the extra message spaces\n //add the Slider to a Subview of the sliderAlert\n let slider = UISlider(frame:CGRect(x: 10, y: 100, width: 250, height: 80))\n slider.minimumValue = 1\n slider.maximumValue = 100\n slider.value = defaultSliderValue\n slider.isContinuous = true\n slider.tintColor = UIColor.red\n sliderAlert.view.addSubview(slider)\n \n //OK button action\n let sliderAction = UIAlertAction(title: "OK", style: .default, handler: { (result : UIAlertAction) -> Void in\n UserDefaults.standard.set(slider.value, forKey: "sliderValue")\n })\n\n //Cancel button action\n let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: nil)\n\n //Add buttons to sliderAlert\n sliderAlert.addAction(sliderAction)\n sliderAlert.addAction(cancelAction)\n\n //present the sliderAlert message\n self.present(sliderAlert, animated: true, completion: nil)\n}\n
Run Code Online (Sandbox Code Playgroud)\n子视图几乎可以放置在任何地方。为了给滑块腾出空间,我在消息中添加了一些额外的换行符以腾出一些空间。滑块将随警报消息出现和消失。
\n