ios - 按钮标题更改后重置为默认值

标签 ios xcode swift uibutton uipickerview

更改按钮标题后,标题会根据 pickerView 正确更改。然后,当我单击应用程序中的不同页面并返回时,按钮标题将恢复为默认值。当我尝试再次更改它时,一旦 pickerView 弹出,它就会转到正确的新更改标题。为什么会发生这种情况以及如何解决它?

这是当用户在 pickerView 中选择一行时我想要更改的按钮标题的代码 -

  @IBAction func roleButton(sender: UIButton) {
    sender.setTitle(Manager.roleText, forState: UIControlState.Normal)
}

这是 pickerView 代码 -

var Array = ["A", "B", "C", "D", "E"]

var Placement = 0

@IBOutlet var rolePicker: UIPickerView!

override func viewDidLoad() {
    super.viewDidLoad()

    rolePicker.delegate = self
    rolePicker.dataSource = self
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return Array[row]
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return Array.count
}

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {

    return 1
}

@IBAction func Submit(sender: AnyObject) {
    if Placement == 0 {
        Manager.roleText = Array[0]
    }
    else if Placement == 1 {
        Manager.roleText = Array[1]
    }
    else if Placement == 2 {
        Manager.roleText = Array[2]
    }
    else if Placement == 3 {
        Manager.roleText = Array[3]
    }
    else if Placement == 4 {
        Manager.roleText = Array[4]
    }


}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    Placement = row
}

最佳答案

我相信,如果没有对带有按钮的 ViewController 的引用,一旦您离开它,它就会被销毁以释放内存。 (也就是说,一旦没有更多的引用它)。如果您在 prepareForSegue 期间将对 ViewController1 的引用传递给 ViewController2(例如 segue.destinationViewController.delegate = self),它应该保留它,以便您可以返回它。 p>

关于ios - 按钮标题更改后重置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921824/

相关文章:

ios - 从 URL 下载图像并添加到 scrollview subview

android - 火力基地 : How to Check Count of Users on a Specific App Version from Firebase Console

ios - 如何动画更改按钮标题?

ios - 如何访问其他类中的对象?

ios - NavigationController 中的 TabBarController 不会在 viewControllers 中显示 TabBar

ios - 传递 Cell 数据时向 CollectionViewCell 添加点击事件

arrays - 无法从快速扩展订阅

iphone - iTunes 更新逻辑

IOS:停止 NSTimer

ios - popViewControllerAnimated 后 UITextField 内容为空