2012-08-14 3 views
3

TWTweetComposeViewController를 사용하고 있으며 화면 제목에 초기 텍스트를 설정하면 텍스트 커서가 해시 태그 뒤에 나타나고 해시 태그 앞에 나타나게하고 싶습니다. 커서 = (0,0) 같은 것을 할 수있는 방법이 있습니까? 나는 문서를보고 거기에 아무것도 없다.TWTweetComposeViewController에서 텍스트 커서의 위치를 ​​설정하는 방법은 무엇입니까?

참고로, 이것은 내가 사용하고있는 것입니다.

TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc]init]; 
[tweetSheet setInitialText:[NSString stringWithFormat:@"#%@", self.title]]; 
tweetSheet.completionHandler = ^(TWTweetComposeViewControllerResult result){ 
    [self dismissModalViewControllerAnimated:YES]; 
}; 
[self presentModalViewController:tweetSheet animated:YES]; 

답변

1

나는 똑같은 것을 찾았다. 약간의 해킹으로 끝낼 수 있습니다. 이것은 소스입니다 http://www.sunetos.com/items/2012/06/04/cleanly-accessing-the-uitextview-field-in-twtweetcomposeviewcontroller-2/

작성자에 따르면 앱 스토어에서 앱이 승인되었습니다.

// at an appropriate place in your code, 
// add and remove the observer for UIKeyboardWillShowNotification 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(handleKeyboardWillShow:) 
              name:UIKeyboardWillShowNotification 
              object:nil]; 

- (UIView *) findFirstResponderInView:(UIView*) view 
{ 
    if (view.isFirstResponder) { 
     return view; 
    } 
    for (UIView *subview in view.subviews) { 
     UIView *result = [self findFirstResponderInView:subview]; 
     if (result) { 
      return result; 
     } 
    } 
    return nil; 
} 

- (void) handleKeyboardWillShow:(NSNotification *) notification; 
{ 
    UIView *fr = [self findFirstResponder:self.tweetSheetViewController.view]; 
    if ([fr isKindOfClass:[UITextView class]]) { 
     UITextView *tv = (UITextView *) fr; 
     [tv setSelectedRange:NSMakeRange(0,0)]; 
    } 
} 

내 응용 프로그램에서 이와 같이 구현 했으므로 추가 도움이 필요하면 알려 주시기 바랍니다.

+0

iOS 7에서 작동하지 않습니다. –

관련 문제