0

我有两个按钮。一个是@addIncomeTapped,另一个是@addExpenseTapped。我想要做的是在用户点击(例如)addIncomeTapped 按钮后更改我的文本字段中的文本颜色。我想弄清楚但没有运气:'(我希望有人能帮助我?我还在努力学习更多。提前谢谢。

import UIKit
class MySecondCell:UITableViewCell,UITextFieldDelegate
{    
    @IBOutlet weak var budgetTitle: UITextField!
    @IBOutlet weak var budgetAmount: UITextField!
}

class secondViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{

   var textfield: UITextField!    
   var SecondBudgetName = [String]()

   @IBOutlet weak var balanceView: UIView!
   @IBOutlet weak var mytableView: UITableView!

   override func viewDidLoad() {
    super.viewDidLoad()

    mytableView.delegate = self
    mytableView.dataSource = self

    view.addVerticalGradientLayer(topColor: primaryColor, bottomColor: secondaryColor)

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func addIncomeTapped(_ sender: Any) {
print("Add income tapped")
    //Add new row
    insert()
}

@IBAction func addExpenseTapped(_ sender: Any) {
print("Add expense tapped")
    //Add new row
    insert()

}

func insert(){
    SecondBudgetName.append("\(SecondBudgetName.count + 1)")
    let insertionIndexPath = IndexPath(row: SecondBudgetName.count - 1 , section: 0)
    mytableView.insertRows(at: [insertionIndexPath], with: .automatic)
}

//Configure TableView

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

    if editingStyle == UITableViewCellEditingStyle.delete {
        SecondBudgetName.remove(at: indexPath.row)
        tableView.beginUpdates()
        tableView.deleteRows(at: [indexPath], with: UITableViewRowAnimation.automatic)
        tableView.endUpdates()
    }
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return SecondBudgetName.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = mytableView.dequeueReusableCell(withIdentifier: "budgetCell") as! MySecondCell

    return cell

}

}

这是我的表视图控制器

4

1 回答 1

0
  1. 第一类名称以大写开头。
  2. 其次,关于您的代码,您需要添加一些代码:
  3. secondViewController 您将添加另外两个声明, var budgetTitleTextFieldColor = UIColor.black因为黑色是文本的默认颜色或您使用的任何颜色 var budgetAmountTextFieldColor = UIColor.blackbudgetTitleTextFielColor
  4. 添加

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = mytableView.dequeueReusableCell(withIdentifier: "budgetCell") as! MySecondCell
    cell.budgetTitle.textColor = budgetTitleTextFieldColor
    cell.budgetAmount.textColor = budgetAmountTextFieldColor
    return cell
    }
    
  5. 然后在按钮动作中

    @IBAction func addIncomeTapped(_ sender: Any) {
        print("Add income tapped")
        //Add new row
        insert()
        // here you change the colors we declared in the beginning, it depends which one you want to change
        budgetTitleTextFieldColor = UIColor.whateverYourColorIs
        budgetAmountTextFieldColor = UIColor.whateverYourColorIs
        // don't forget this
        tableView.reloadData()}
     @IBAction func addExpenseTapped(_ sender: Any) {
           print("Add expense tapped")
           //Add new row
           insert()
           // here you change the colors we declared in the beginning
           budgetTitleTextFieldColor = UIColor.whateverYourColorIs
           budgetAmountTextFieldColor = UIColor.whateverYourColorIs
           // don't forget this
          tableView.reloadData()
    }
    
于 2018-04-13T08:09:36.437 回答