拥有使用固定符号的能力会很棒。
例如,我需要电话号码的掩码:+7 (111) 111-11-11
所以根据文档我可以为这种情况创建掩码:+7([000])[000]-[00]-[00]
没关系。 但我需要用户不能清除拳头两个符号(+7)。 所以每次“+7”都必须在文本字段中始终可见。
嘿@razalur
谢谢你的建议。 本周晚些时候我会回来反馈,敬请期待!
任何更新 ?
@TikhonovAlexander嘿。 @razalur可能也有兴趣。
感谢您提醒我有关此功能请求。 实际上,我们与 Apple 的两位福音传道者就文本字段中的不可编辑文本进行了简短的交谈。
TL;DR:我们不会支持此功能。
尽管限制用户对应用程序的控制权并接管决策权是一个坏主意,但它并没有直接违反HIG 。 原生文本字段不会像那样表现,iOS SDK 已经有一个静态文本组件—— UILabel
。
您无法禁用或灰显原生键盘 Backspace 按钮,不可清除的符号会带来混乱,因为最终用户将无法确定这是设计行为还是错误。 “为什么我的退格按钮不起作用?” ——而且你不能给出明确的提示。
从我们的库设计角度来看,很明显开发人员可能会在行的中间放置一个“固定”符号。 但是当用户从行首开始删除字符时,您期望发生什么?
当您决定合并UITextField
清除按钮时,会出现更多问题。
相应的委托方法-textFieldShouldClear()
不允许您部分清除文本字段,它旨在擦除所有文本。 覆盖或扩展清除按钮行为是一个模棱两可的设计决策,因此我们的库要承担很大的责任,因为我们必须涵盖所有用例。 有些人(开发人员和用户)希望原生清除按钮清除所有文本,有些人希望清除后保留所有“固定”符号,而其他人则认为只有“固定”前缀应该保留并“固定”行中间的字符应该被擦除。
我唯一能帮助你的就是建议你仔细考虑你要实现的目标。
不要与 SDK 对抗,因为 SDK 总是赢家。
最有用的评论
@TikhonovAlexander嘿。 @razalur可能也有兴趣。
感谢您提醒我有关此功能请求。 实际上,我们与 Apple 的两位福音传道者就文本字段中的不可编辑文本进行了简短的交谈。
TL;DR:我们不会支持此功能。
尽管限制用户对应用程序的控制权并接管决策权是一个坏主意,但它并没有直接违反HIG 。 原生文本字段不会像那样表现,iOS SDK 已经有一个静态文本组件——
UILabel
。您无法禁用或灰显原生键盘 Backspace 按钮,不可清除的符号会带来混乱,因为最终用户将无法确定这是设计行为还是错误。 “为什么我的退格按钮不起作用?” ——而且你不能给出明确的提示。
从我们的库设计角度来看,很明显开发人员可能会在行的中间放置一个“固定”符号。 但是当用户从行首开始删除字符时,您期望发生什么?
当您决定合并
UITextField
清除按钮时,会出现更多问题。相应的委托方法
-textFieldShouldClear()
不允许您部分清除文本字段,它旨在擦除所有文本。 覆盖或扩展清除按钮行为是一个模棱两可的设计决策,因此我们的库要承担很大的责任,因为我们必须涵盖所有用例。 有些人(开发人员和用户)希望原生清除按钮清除所有文本,有些人希望清除后保留所有“固定”符号,而其他人则认为只有“固定”前缀应该保留并“固定”行中间的字符应该被擦除。我唯一能帮助你的就是建议你仔细考虑你要实现的目标。
不要与 SDK 对抗,因为 SDK 总是赢家。