3

我正在使用 TWTweetComposeViewController,当我将初始文本设置为屏幕标题时,文本光标出现在主题标签之后,我希望它出现在主题标签之前。有没有办法做类似 cursor=(0,0) 或类似的事情?我查看了文档,那里什么都没有。

作为参考,这就是我正在使用的。

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

1 回答 1

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)];
    }
}

确实在我的应用程序中实现了它,所以如果您需要进一步的帮助,请告诉我。

于 2012-08-28T13:55:35.403 回答