2011-04-06 2 views

답변

2

당신이 다른 텍스트와 함께 그것을 모르거나 이곳에서만 단일 시프트 탭을 감지하지만, 할 필요가 있는지 몰라 는 전자를 검출 내 솔루션입니다 : 내 경우에는

이 단지입니다 이 소문자 대문자 텍스트를 변환하고 shiftPressed 값을 설정

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)inText 

(텍스트가 아닌 편지 텍스트 인 경우 무시)

//Shift Detection 
BOOL shiftPressed = NO; 

//Detect non letter characters 
NSCharacterSet *letterCharacterSet = [NSCharacterSet letterCharacterSet]; 
NSString *trimmedText = [text stringByTrimmingCharactersInSet:letterCharacterSet]; 

if ([text length] == 1) { 
    if (![trimmedText length]) 
    {    
     NSString *upperCaseString = [text uppercaseString]; 
     if ([upperCaseString isEqualToString:text]) { 
      NSString *lowerCaseString = [text lowercaseString]; 
      text = lowerCaseString; 
      shiftPressed = YES; 
     } 
    } 
} 
: 내 하나의 문자
관련 문제