UILabel只能访问键盘字母

时间:2013-01-25 12:27:30

标签: iphone xcode

任何人都可以通过键盘告诉如何只访问字母表。数字和特殊字符不应输入UILabel

我是iOS编程的新手,我正在搜索过去2小时没用的内容。帮助我摆脱这个

3 个答案:

答案 0 :(得分:0)

试试这个......

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range 
{
     static NSCharacterSet *charSet2 = nil;
   if(textField==txtfirstname)
  {
    if(!charSet2)
    {

    charSet2 = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "] invertedSet];

    } 
        NSRange location = [string rangeOfCharacterFromSet:charSet2];
        return (location.location == NSNotFound);
  }
}

希望这会有所帮助......

答案 1 :(得分:0)

要获得通知,您必须使用UITextField的委托功能。如果你使用UILabel。您可能必须继续使用键盘通知。相反,您可以使用UITextField。您可以使用UITextField边框样式属性使其看起来像UILabel。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    { 
        NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
        for (int i = 0; i < [string length]; i++) 
        {
            unichar c = [string characterAtIndex:i];
            if (![myCharSet characterIsMember:c]) 
            {
                return YES;
            }
            else 
            {
                return NO;
            }
         }
    }

答案 2 :(得分:0)

您可以使用this的帮助形式链接您想要的任何类型的键盘