完成推文后TWTweetComposeViewController,我的应用锁定了.走出主屏幕并回来似乎解决了这个问题,时钟仍然响起,但没有触摸注册我的任何视图/控件.
在我的应用程序中思考一些奇怪的东西,我创建了一个新的实用程序 - 应用程序 - 模板项目,将其链接到w/Twitter.framework,并将信息UIButton的IBAction方法重新定义为:
- (IBAction)showInfo:(id)sender
{
TWTweetComposeViewController *twt = [[TWTweetComposeViewController alloc] init];
[twt setInitialText:@"some garbage"];
[twt addURL:[NSURL URLWithString:@"http://google.com"]];
twt.completionHandler = ^(TWTweetComposeViewControllerResult r) { NSLog(@"it happened: %d",r); };
[self presentViewController:twt animated:YES completion:NULL];
[twt release];
}
Run Code Online (Sandbox Code Playgroud)
在取消之后(有趣地需要2次点击),可以通过点击"i"来恢复它,但是在提交之后,"i"在响应应用程序之前没有响应.
有人用过这个吗?还是我公然遗失了什么?
rad*_*six 24
这里的问题是你提出了一个模态视图控制器(twitter视图控制器是模态的); 但是,您的完成处理程序在完成时不会解除模态视图控制器.这使得Twitter控制器可以捕获屏幕上的所有触摸,从而阻止您的应用正常运行.
您需要确保添加[self dismissModalViewControllerAnimated:YES]; 到你的完成处理程序.
像这样的东西:
(IBAction)showInfo:(id)sender
{
TWTweetComposeViewController *twt = [[TWTweetComposeViewController alloc] init];
[twt setInitialText:@"some garbage"];
[twt addURL:[NSURL URLWithString:@"http://google.com"]];
twt.completionHandler = ^(TWTweetComposeViewControllerResult result) {
switch (result) {
case TWTweetComposeViewControllerResultCancelled:
break;
case TWTweetComposeViewControllerResultDone:
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
};
[self presentModalViewController:twt animated:YES];
Run Code Online (Sandbox Code Playgroud)
};
| 归档时间: |
|
| 查看次数: |
1786 次 |
| 最近记录: |