1
我需要爲TextFields設置字符限制。我跟着這個answer,我能夠設置一個限制。但現在當我按下輸入時,所有的字符都被清除了。什麼地方出了錯 ?將限制設置爲NSTextField
- (BOOL)isPartialStringValid:(NSString *__autoreleasing *)partialStringPtr
proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString *__autoreleasing *)error {
if ([*partialStringPtr length] > maxLength)
return NO;
else
return YES;
}
- (NSString *)stringForObjectValue:(id)obj {
return (NSString*) obj;
}
- (BOOL)getObjectValue:(out __autoreleasing id *)obj
forString:(NSString *)string
errorDescription:(out NSString *__autoreleasing *)error {
return YES;
}
- (NSAttributedString *)attributedStringForObjectValue:(id)obj
withDefaultAttributes:(NSDictionary *)attrs {
return (NSAttributedString*) obj;
}
是結束了使用'controlTextDidChange'但是熱衷於使用NSFormatter類,而不是我認爲正確的事情。 – user88975
檢查此線程爲NSFormatter (http://stackoverflow.com/questions/827014/how-to-limit-nstextfield-text-length-and-keep-it-always-upper-case) –