如何从一个屏幕上获取数据并将其添加到另一屏幕上的UIView中?

时间:2018-12-07 19:50:18

标签: ios swift

我对应用程序开发还很陌生,我曾尝试找到解决方案,但未能成功。

我正在尝试开发一个待办事项应用程序,主要功能是将任务显示为卡片。我希望它类似于this,但动画会在以后发布。我一直想弄清楚如何获取用户提供的数据并将其添加到主屏幕的卡上。

Here's what I want to achieve.

无论用户有多少任务,我如何添加与任务相关的数据的新视图?此时,我什至不需要后面的卡变小,我希望基本功能完成。数据来自另一个屏幕,用户可以在此处添加名称和优先级。

最后,我希望在用户滑动时显示下一个任务,所以现在我认为一次只需要一张卡就不再重要了,只需使用下一个任务。

这是我在“新任务”屏幕上的代码:

import UIKit

class NewTaskVC: UIViewController {

    @IBAction func cancelButton(_ sender: Any) {
        self.dismiss(animated: true, completion: nil)
    }

    @IBOutlet weak var newTaskName: UITextField!
    @IBOutlet weak var newTaskDescription: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override var preferredStatusBarStyle : UIStatusBarStyle {
        return UIStatusBarStyle.lightContent
    }

    @IBAction func addTask(_ sender: Any) {
    }

}

如果不是全部,我将如何至少完成其中一部分?

1 个答案:

答案 0 :(得分:0)

  1. 创建一个存储任务列表以及持久化该列表的方法的模型。
  2. 创建另一个视图控制器来代表每个卡。它将引用一个任务,其viewDidLoad将从任务中填充其UI。
  3. 在NewTaskVC中,迭代模型的任务,并为每个任务创建卡vc的实例。将每个实例添加为NewTaskVC的子视图控制器,并为子视图构建者的视图添加自动布局约束。创建每个实例时,将其传递给要为其显示数据的任务的引用。

这是一个很高的水平。您的问题很广泛。您可能需要寻找一些样本。祝你好运。