我正在使用UIImagePickerController从我的应用程序中捕获视频,并且我已将视频最长持续时间设置为30秒。达到30秒限制时。我收到一条警告,上面写着“达到最大视频录制限制”由UIImagePickerController生成,并且它会停止捕获视频。
我想要的是我想要响应达到30秒限制时自动生成的警报。我想在按下该警报的“确定”按钮时执行某些操作。我已经实现了UIAlertView的所有委托方法,但是当我按下OK按钮时它会以任何方式出现。
请帮助我如何回复该警报?
答案 0 :(得分:2)
您无法使用所有这些委托方法,因为您没有启动UIAlertView
,因此您无法设置其委托......
我唯一能想到的就是做一些事情,比如听UIWindowDidBecomeVisibleNotification
来检测何时显示警报,然后通过UIWindowDidBecomeHiddenNotification
通知来检测它什么时候消失。
您应该知道这些通知会触发所有使用UIWindow
UIActionSheet
{{1}}的组件,例如{{1}}或键盘,因此您需要确保这是正确的(也许请检查查看其中一个子视图中是否有UIAlertView ..)
答案 1 :(得分:1)
将自己设置为UIImagePickerController
的代理人,并实施UIImagePickerControllerDelegate协议。具体来说,有以下方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)
答案 2 :(得分:-1)
表单文档
alertView:clickedButtonAtIndex:
用户发送给代理人 单击警报视图上的按钮。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex参数alertView 包含按钮的警报视图。 buttonIndex按钮的索引 被点击了。按钮索引从0开始。讨论 调用此方法后,接收器将自动关闭。
可用性适用于iOS 2.0及更高版本。在UIAlertView.h中声明
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0)
{
// do stuff for button index 0,ie cancel button and sthe same for other button indeces
}
}
答案 3 :(得分:-3)
请参阅本教程:http://mobile.tutsplus.com/tutorials/iphone/uialertview/您可以更加理想:
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Hello World!"
message:@"This is your first UIAlertview message."
delegate:self
cancelButtonTitle:@"Button 1"
otherButtonTitles:@"Button 2", @"Button 3", nil];
[message show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"Button 1"])
{
NSLog(@"Button 1 was selected.");
}
else if([title isEqualToString:@"Button 2"])
{
NSLog(@"Button 2 was selected.");
}
else if([title isEqualToString:@"Button 3"])
{
NSLog(@"Button 3 was selected.");
}
}