将iOS中的UIlabel文本字段限制为两个字符,输入3个或更多字符时重置
我是一个学习iOS开发的初学者 我试图将标记为“Factor”的标签的内容限制为只允许0到99之间的2个整数。我还想强制用户为每个因子尝试输入至少两位数字(即,“7”将是“07”) 用户不直接编辑标签。有一个数字键盘,用户可以使用它直接输入系数(就像在计算器或遥控器上一样)。还有一个递增和递减按钮,用于修改标签文本 我对标签进行了限制,使其在按下递增或递减按钮时不会超过99或低于0。但是我被困在如何限制用户按3个或更多的数字,以及如何在标签文本中填充这些数字上 当前行为:将iOS中的UIlabel文本字段限制为两个字符,输入3个或更多字符时重置,ios,objective-c,uibutton,uilabel,Ios,Objective C,Uibutton,Uilabel,我是一个学习iOS开发的初学者 我试图将标记为“Factor”的标签的内容限制为只允许0到99之间的2个整数。我还想强制用户为每个因子尝试输入至少两位数字(即,“7”将是“07”) 用户不直接编辑标签。有一个数字键盘,用户可以使用它直接输入系数(就像在计算器或遥控器上一样)。还有一个递增和递减按钮,用于修改标签文本 我对标签进行了限制,使其在按下递增或递减按钮时不会超过99或低于0。但是我被困在如何限制用户按3个或更多的数字,以及如何在标签文本中填充这些数字上 当前行为: 目前,如果我按“9”、
目前,如果我按“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;
}
}
您可以简单地检查标签字符串的长度
if ([self.fDisp.text length] == 2)
self.fDisp.text = sender.currentTitle;
else
self.fDisp.text = [self.fDisp.text
stringByAppendingString:number];
我认为这很容易做到。请看下面我的解决方案,我认为它应该适用于您的情况
- (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];
}