将 iOS 中的 UIlabel 文本字段限制为两个字符,输入 3 个或更多时重置
Posted
技术标签:
【中文标题】将 iOS 中的 UIlabel 文本字段限制为两个字符,输入 3 个或更多时重置【英文标题】:limit UIlabel text field in iOS to two characters, reset when 3 or more are entered 【发布时间】:2014-05-11 16:18:33 【问题描述】:我是一名学习 ios 开发的初学者。
我试图将标记为“因子”的标签的内容限制为仅允许 0 到 99 之间的 2 个整数。我还想强制用户在每次尝试因子时输入至少两位数(即“7”将是“07”)。
标签不是由用户直接编辑的。用户可以使用数字键盘直接输入因子(就像在计算器或遥控器上一样)。还有一个用于修改标签文本的增量和减量按钮。
我对标签进行了限制,以便在按下递增或递减按钮时它不会超过 99 或低于 0。但我被困在如何限制用户按 3 个或更多数字并在标签文本中填充。
当前行为: 目前,如果我按“9”、“0”、“1”,将导致“901”。 我的目标是按“9”、“0”、“1”,然后看到“1”。 换句话说,永远不会显示超过 2 个字符,一旦按下第三个数字,它将覆盖现有的两个。
这是我为数字按钮所做的:
- (IBAction)numPush:(UIButton *)sender
NSString *number = sender.currentTitle;
if (self.numberCheck)
self.fDisp.text = [self.fDisp.text
stringByAppendingString:number];
else
self.fDisp.text = number;
self.numberCheck = YES;
【问题讨论】:
【参考方案1】:我认为很容易做到这一点。请参阅下面的解决方案,我认为它应该适用于您的情况。
- (IBAction)numPush:(UIButton *)sender
NSString *number = sender.currentTitle;
if([self.fDisp.text length] == 2)
self.fDisp.text = sender.currentTitle;
else
self.fDisp.text = [self.fDisp.text stringByAppendingString:number];
【讨论】:
【参考方案2】:您可以简单地检查标签字符串的长度。
if ([self.fDisp.text length] == 2)
self.fDisp.text = sender.currentTitle;
else
self.fDisp.text = [self.fDisp.text
stringByAppendingString:number];
【讨论】:
以上是关于将 iOS 中的 UIlabel 文本字段限制为两个字符,输入 3 个或更多时重置的主要内容,如果未能解决你的问题,请参考以下文章
UILabel - iOS 8 Xcode 6.3 中的单行文本占用 2 行