- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是想关闭 UIAlertView
但我不能因为一个奇怪的错误几天...
点击UIAlertView
上的取消按钮后,下面的代码可以工作。
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
[alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
}
但是通过这些行后,它会导致崩溃并显示以下消息:
[MPMoviePlayerViewController isKindOfClass:]: message sent to deallocated instance 0x27f590
在同一 View 上,我嵌入
MPMoviePlayerViewController.moviePlayer.view
[self.view addSubview:vc.moviePlayer.view];
有人知道发生了什么事吗?我用的是ARC,iOS5.1。如果您需要更多信息,我会添加它们。
提前谢谢您。
更多信息:
我在代码中的所有方法上设置了断点。我确保它在 clickedButtonAtIndex
之后崩溃...
调用UIAlertView show的代码为
-(void)applicationDidBecomeActive:(NSNotification *)notification
{
self.alert = hoge; // set delegate = self
[self.alert show];
}
调用它们之后,viewDidAppear
被调用。有一些用于嵌入 vc.moviePlayer.view
的代码,例如
MPMoviePlayerViewController *vc;
vc = [[MPMoviePlayerViewController alloc] initWithContentURL:hogeURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(finishPreload:)
name:MPMediaPlaybackIsPreparedToPlayDidChangeNotification
object:vc];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(finishPlayback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:vc];
vc.view.frame = CGRectMake( 0, 0, 320, 440);
vc.moviePlayer.allowsAirPlay = YES;
vc.moviePlayer.shouldAutoplay = NO;
vc.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
vc.moviePlayer.useApplicationAudioSession = NO;
[vc.moviePlayer.view setTag:310];
[self.view addSubview:vc.moviePlayer.view];
我的应用有 3 个选项卡,其中 2 个嵌入了 MPMoviePlayerViewController.moviePlayer.view
。其他选项卡 Controller 中调用的方法仅限于 viewWillDisappear
和 viewDidDisappear
。
最佳答案
在我看来,您的 MPMoviePlayerController
实例在 viewDidAppear
之后被释放。我认为您应该将 vc 设置为 View Controller 的属性或实例变量,以便它在 View Controller 的整个生命周期中持续存在。
关于iphone - UIAlertViewDelegate 的 clickedButtonAtIndex 后崩溃并显示消息 [MPMoviePlayerViewController isKindOfClass :]: message sent to deallocated instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967912/
我正在实现一个 UIAlertView,需要它在 iOS7 上运行。下面的代码有效,但我的问题是关于 alertView(alertView: UIAlertView, clickedButtonAt
UIAlertViewDelegate 协议(protocol)定义了两个方法,alertView:clickedButtonAtIndex: 和 alertView:didDismissWithBu
在 .h 文件中 @interface MenuViewController : UIViewController 在 .m 文件中 @interface TACDIYMenuViewControll
大家好,我有这个 IBAction 链接到一个按钮: - (IBAction)showCurl:(id)sender { alert1 = [[UIAlertView alloc]in
当用户单击 UIAlertView 上的按钮时,应该调用 clickedButtonAtIndex 方法,但是,它不会: 在 .h 中我调用了 UIAlertView 协议(protocol): @i
我真的为这个而烦恼。 我在我的第一个选项卡栏项中的第一个 View Controller 上显示一个操作表,当我点击确定时,我正在切换到另一个选项卡栏项中的另一个 View ,使用以下代码。 - (v
这就是我创建警报的方式: UIAlertView* dialog = [[UIAlertView alloc] init]; dialog.delegate = self; //some option
我在 MyapplicationAppDelegate.m 文件中使用 2 个按钮“取消”和“确定”调用 UIAlert,调用警报但点击“取消”或“确定”按钮 -(void)alertView:(UI
小伙伴们: 在我的测试应用程序的 viewController 中有两个按钮,我称之为“否”的正确按钮, 另一个是"is"。两个按钮会调用两个不同的函数,而当 用户按下其中一个按钮,我想向用户显示一个
我有这个警告 View (免责声明),它会在应用程序完成启动时弹出。它可以工作(我的应用程序现在慢得多),但如果用户按 no,thanks,我也想退出应用程序。我想我应该使用 clickedButto
我使用以下代码创建了一个带有两个按钮的警报 View : UIAlertView *alertView = [[UIAlertView alloc] initWithTitle: title mess
正如我的标题所说 clickedButtonAtIndex委托(delegate)方法被调用,甚至在 UIActionSheet 的外侧点击。 当我点击 UIButton 时会显示我的 actionS
我正在尝试创建一个函数,该函数在从不同的 View Controller 调用时创建一个操作表。问题是,尽管创建了 uiaction 表,但我似乎无法执行任何指定的单击操作。事实上,委托(delega
我目前正在编写一个应用程序,它有一个 uibutton,允许用户在数据库中发送评论。 如果某些字段为空,我会在我的按钮中创建多个条件以显示一些 UialertView。 我也使用以下方法: - (vo
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { .... }
我想从不同的 ViewController 弹出一个警告。因为我想处理用户是否一致地单击“确定”或“取消”,所以我决定实现我自己的 UIAlertViewDelegate 并从我的 UIViewCon
我尝试单击按钮,从操作表中选择,然后将所选索引设置为按钮文本标签的文本。我的按钮在下面。但它不会在按钮文本中显示选定的索引。我该如何解决这个问题? - (IBAction)cinsiyetBtnCli
我只是想关闭 UIAlertView 但我不能因为一个奇怪的错误几天... 点击UIAlertView上的取消按钮后,下面的代码可以工作。 - (void) alertView:(UIAlertVie
在我的应用程序中,我需要在用户单击警报 View 中的按钮时关闭警报 View 。我在我的应用中尝试了 [alertView dismissWithClickedButtonIndex:-1 anim
我在显示 5 个选项卡的 MainWindow.xib 上添加了一个选项卡栏 Controller ,并在我的应用程序委托(delegate)中具有选项卡栏 Controller 的委托(delega
我是一名优秀的程序员,十分优秀!