You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift 5开发欢迎页:实现点击按钮将输入内容显示到Label

解决Swift欢迎页面姓名显示与保存问题

没问题,我来帮你搞定这个需求!你现在的代码已经拿到了输入框的文本,但还缺两个关键步骤:把姓名赋值给Label显示,以及真正保存姓名(比如持久化到本地)。下面是完整的实现方案:

第一步:添加显示用的Label关联

首先你需要在Storyboard/XIB里拖一个UILabel到界面(比如放在输入框下方),然后给它添加IBOutlet关联,命名为welcomeLabel——操作方式和你关联输入框的步骤完全一样。

第二步:完善保存按钮逻辑 + 持久化姓名

修改你的saveButton方法,我们要做这几件事:

  • 取出输入框的文本,处理空值(比如用户没输入时给默认提示)
  • 拼接全名,显示到Label上
  • 把全名保存到UserDefaults,下次打开APP还能显示已保存的姓名

第三步:启动时加载已保存的姓名

在viewDidLoad里读取之前保存的姓名,一进入页面就显示出来,提升用户体验。

完整代码示例

class UserDataViewController: UIViewController { 
    // 用户名字输入框 
    @IBOutlet weak var firstUserInput: UITextField! 
    // 用户姓氏输入框 
    @IBOutlet weak var lastNameInput: UITextField! 
    // 新增:显示欢迎语的Label
    @IBOutlet weak var welcomeLabel: UILabel!

    @IBAction func saveButton(_ sender: Any) { 
        // 取出输入文本,空值时用默认字符串兜底
        let firstName = firstUserInput.text ?? "未知"
        let lastName = lastNameInput.text ?? "用户"
        // 按中文习惯拼接姓+名,英文环境可以改成 "\(firstName) \(lastName)"
        let fullName = "\(lastName)\(firstName)"

        // 把欢迎语显示到Label上
        welcomeLabel.text = "欢迎你,\(fullName)!"

        // 保存到UserDefaults实现持久化
        UserDefaults.standard.set(fullName, forKey: "savedFullName")
        
        // 额外优化:保存后隐藏键盘
        view.endEditing(true)
    } 

    override func viewDidLoad() { 
        super.viewDidLoad() 
        // 启动时读取已保存的姓名
        if let savedName = UserDefaults.standard.string(forKey: "savedFullName") {
            welcomeLabel.text = "欢迎回来,\(savedName)!"
        } else {
            welcomeLabel.text = "请输入你的姓名"
        }
    }
}

小提示

  • 如果需要支持多语言,记得把固定文本(比如“欢迎你”)放到Localizable.strings里
  • 可以给输入框设置returnKeyType为done,让用户按回车就能触发保存操作

内容的提问来源于stack exchange,提问作者kaysol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:17:44