我有一个选项viewController,用户可以在其中更改密码和pickerview。每当他按下定时器的"保存"按钮时,用户通过SEGUE将用户定向到主屏幕。我希望在用户按下此保存按钮(等于基于时间的限制)后,我希望能够在一定时间内将Pickerview(在选项查看器上)灰色。我现在的问题是,每当用户按下按钮并将其定向到主屏幕,pickerview.alpha options viewController(我设置为灰色效果)都不会更改/当用户返回时不可见更改在时间段。另外,Pickerview.alpha在时间段expier时不会在选项视图controller屏幕上更改。
因此,为了遵循我的描述,这是我到目前为止的代码:
import UIKit
class OptionsViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate
@IBOutlet var PickerView: UIPickerView!
var seconds = 20
var timer = Timer()
var isTimerRunning = false
@IBAction func Save_Touched(_ sender: Any) {
if isTimerRunning == false {
runTimer()
}
self.performSegue(withIdentifier: "fromOptionstoMainSegue", sender: self)
}
func runTimer() {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(OptionsViewController.updateTimer), userInfo: nil, repeats: true)
self.PickerView.alpha = 0.5
isTimerRunning = true
}
func updateTimer() {
if seconds < 1 {
timer.invalidate()
self.PickerView.alpha = 1.0
} else {
seconds -= 1
print(seconds)
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.PickerView.dataSource = self
self.PickerView.delegate = self
print(isTimerRunning)
}
}
我尝试了无尽的选择来实现它,但无法实现。因此,我真的很期待任何答案或帮助!
与善意
您可以轻松地禁用pickerview。要么完全隐藏:
PickerView.isHidden = true
然后稍后将其取消将其放置,或者只是简单地将其禁用:
PickerView.isUserInteractionEnabled = false
并在保存完成后再次启用它。无需灰色。
编辑:
您的代码可以设置挑选器视图的alpha没有错。确保您的插座链接到故事板中的挑选器视图。