1

嗨,我面临一个奇怪的问题。我有一门NSObject类型的课程,在同一堂课上,我想在 Facebook 和电子邮件以及 Twitter 上分享图像。我成功完成了 FB 和电子邮件,在电子邮件上我用来[[[UIApplication sharedApplication] keyWindow] addSubview:mailer.view];将邮件控制器显示到呈现模型视图控制器的窗口插入上,并且与在 Dismiss 上相同,我使用从超级视图中删除。但是,当我对 twitter 控制器执行相同操作时,twitter 控制器只会显示几毫秒然后隐藏。我还将新的 View 控制器添加到 Window 上,然后将其控制器呈现到该 View 控制器上,但输出相同。不知道怎么回事。请帮忙。提前致谢。这对我来说很棒:)

已编辑

 if (_engine != nil) {
    _engine = nil;
    [_engine release];
}    
_engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate: self];
_engine.consumerKey = kOAuthConsumerKey;
_engine.consumerSecret = kOAuthConsumerSecret;

UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate: self];

if (controller) {
    NSLog(@"Sharing on Twitter on loading controller of twitter");
     [[UIApplication sharedApplication].keyWindow addSubview:controller.view];

}
else {
    NSLog(@"Sharing on Twitter in else condition");
    [self sharetoTwitter:screenImg];
} 

ShareToTwitter方法

- (void) sharetoTwitter:(UIImage *)img {
NSString *response = [_engine _uploadImage:img requestType:MGTwitterPublicTimelineRequest responseType:MGTwitterStatus]; 
NSLog(@"twitter post notification");
}

我使用添加子视图来加载视图而不是呈现视图。

4

1 回答 1

1

你试过这个

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubView:controller.view];
[window makeKeyAndVisible];//important line dont forget to set this line
于 2012-12-07T12:03:43.500 回答