将视图添加到Twitter的窗口

时间:2012-12-06 08:41:30

标签: iphone ios xcode twitter uiwindow

嗨,我正面临一个奇怪的问题。我有一个类NSObject类,在同一个班级我想在Facebook和电子邮件以及Twitter上分享图像。我成功地完成了FB和电子邮件,在电子邮件中我使用[[[UIApplication sharedApplication] keyWindow] addSubview:mailer.view];将Mail控制器显示在呈现模型视图控制器的Window instread上,与在关闭时使用从超级视图中删除。但是当我对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];
} 

ShareToTwitterMethod

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

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

1 个答案:

答案 0 :(得分:1)

你试过这个吗?

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubView:controller.view];
[window makeKeyAndVisible];//important line dont forget to set this line