谁能告诉如何通过键盘仅访问字母。数字和特殊字符不应输入到UILabel
.
我是 iOS 编程的新手,我正在从最后 2 个小时的无用中搜索这个。帮我解决这个问题
尝试这个 ...
- (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);
}
}
希望这可以帮助...
要获得通知,您必须使用 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;
}
}
}