嗨,我正面临一个奇怪的问题。我有一个类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");
}
我使用添加子视图来加载视图而不是呈现视图。
答案 0 :(得分:1)
你试过这个吗?
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window addSubView:controller.view];
[window makeKeyAndVisible];//important line dont forget to set this line