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

如何解决使用MaterialComponent时MDCTextField的弃用警告?

解决MDCTextField弃用,迁移至Material Text Controls

核心迁移步骤

  • 更新Pod依赖:在Podfile中替换原有的MaterialComponents/TextFields为TextControls相关组件,根据你需要的文本框样式选择:

    # 外框样式浮动标签文本框
    pod 'MaterialComponents/TextControls+OutlinedTextFields'
    # 填充样式浮动标签文本框
    pod 'MaterialComponents/TextControls+FilledTextFields'
    

    执行pod update完成依赖更新。

  • 替换控件类:将代码中所有MDCTextField替换为对应新控件:

    • 外框样式用MDCOutlinedTextField
    • 填充样式用MDCFilledTextField
  • 调整属性配置:新控件API与旧版略有差异,浮动标签默认自动启用,无需额外设置floatingEnabled,示例对比:

    // 旧MDCTextField写法
    let oldTextField = MDCTextField()
    oldTextField.floatingEnabled = true
    oldTextField.placeholder = "请输入内容"
    
    // 新MDCOutlinedTextField写法
    let newTextField = MDCOutlinedTextField()
    newTextField.label.text = "请输入内容"
    
  • 适配代理逻辑:将原MDCTextFieldDelegate替换为MDCTextControlDelegate,代理方法参数会变为MDCTextControl类型,对应调整实现即可。

额外适配说明

  • 若使用Storyboard/XIB开发,直接在控件库中选择Outlined TextField或Filled TextField替换原有MDCTextField,再通过属性面板调整样式。
  • 确保Material Components版本在v118及以上,旧版本可能未完整支持TextControls功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:46:01