Input-mask-ios: 掩码中的固定符号

创建于 2017-02-20  ·  3评论  ·  资料来源: RedMadRobot/input-mask-ios

拥有使用固定符号的能力会很棒。

例如,我需要电话号码的掩码:+7 (111) 111-11-11
所以根据文档我可以为这种情况创建掩码:+7([000])[000]-[00]-[00]
没关系。 但我需要用户不能清除拳头两个符号(+7)。 所以每次“+7”都必须在文本字段中始终可见。

enhancement question rejected

最有用的评论

@TikhonovAlexander嘿。 @razalur可能也有兴趣。

感谢您提醒我有关此功能请求。 实际上,我们与 Apple 的两位福音传道者就文本字段中的不可编辑文本进行了简短的交谈。

TL;DR:我们不会支持此功能。

尽管限制用户对应用程序的控制权并接管决策权是一个坏主意,但它并没有直接违反HIG 。 原生文本字段不会像那样表现,iOS SDK 已经有一个静态文本组件—— UILabel

您无法禁用或灰显原生键盘 Backspace 按钮,不可清除的符号会带来混乱,因为最终用户将无法确定这是设计行为还是错误。 “为什么我的退格按钮不起作用?” ——而且你不能给出明确的提示。

从我们的库设计角度来看,很明显开发人员可能会在行的中间放置一个“固定”符号。 但是当用户从行首开始删除字符时,您期望发生什么?

当您决定合并UITextField清除按钮时,会出现更多问题。
相应的委托方法-textFieldShouldClear()不允许您部分清除文本字段,它旨在擦除所有文本。 覆盖或扩展清除按钮行为是一个模棱两可的设计决策,因此我们的库要承担很大的责任,因为我们必须涵盖所有用例。 有些人(开发人员和用户)希望原生清除按钮清除所有文本,有些人希望清除后保留所有“固定”符号,而其他人则认为只有“固定”前缀应该保留并“固定”行中间的字符应该被擦除。

我唯一能帮助你的就是建议你仔细考虑你要实现的目标。
不要与 SDK 对抗,因为 SDK 总是赢家。

所有3条评论

嘿@razalur
谢谢你的建议。 本周晚些时候我会回来反馈,敬请期待!

任何更新 ?

@TikhonovAlexander嘿。 @razalur可能也有兴趣。

感谢您提醒我有关此功能请求。 实际上,我们与 Apple 的两位福音传道者就文本字段中的不可编辑文本进行了简短的交谈。

TL;DR:我们不会支持此功能。

尽管限制用户对应用程序的控制权并接管决策权是一个坏主意,但它并没有直接违反HIG 。 原生文本字段不会像那样表现,iOS SDK 已经有一个静态文本组件—— UILabel

您无法禁用或灰显原生键盘 Backspace 按钮,不可清除的符号会带来混乱,因为最终用户将无法确定这是设计行为还是错误。 “为什么我的退格按钮不起作用?” ——而且你不能给出明确的提示。

从我们的库设计角度来看,很明显开发人员可能会在行的中间放置一个“固定”符号。 但是当用户从行首开始删除字符时,您期望发生什么?

当您决定合并UITextField清除按钮时,会出现更多问题。
相应的委托方法-textFieldShouldClear()不允许您部分清除文本字段,它旨在擦除所有文本。 覆盖或扩展清除按钮行为是一个模棱两可的设计决策,因此我们的库要承担很大的责任,因为我们必须涵盖所有用例。 有些人(开发人员和用户)希望原生清除按钮清除所有文本,有些人希望清除后保留所有“固定”符号,而其他人则认为只有“固定”前缀应该保留并“固定”行中间的字符应该被擦除。

我唯一能帮助你的就是建议你仔细考虑你要实现的目标。
不要与 SDK 对抗,因为 SDK 总是赢家。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

beltik picture beltik  ·  6评论

caioremedio picture caioremedio  ·  6评论

osterlind picture osterlind  ·  3评论

KompoD picture KompoD  ·  5评论

DamascenoRafael picture DamascenoRafael  ·  4评论