2012-08-14 95 views
3

我正在使用TWTweetComposeViewController,并且当我将初始文本设置为屏幕标题时,文本光标出现在哈希标签后面,我希望它在哈希标签前出现。有没有办法做一些像cursor =(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 – 2013-10-01 04:21:49