Mac SavePanel 保存文件的GUI代码
2024-09-01 23:22:57
// Move the recorded temporary file to a user-specified location (视频文件另存储过程,依据用户选择的路径和文件保存名)
NSSavePanel *savePanel = [NSSavePanel savePanel];
[savePanel setAllowedFileTypes:[NSArray arrayWithObject:AVFileTypeQuickTimeMovie]];
[savePanel setCanSelectHiddenExtension:YES];
[savePanel beginSheetModalForWindow:[self windowForSheet] completionHandler:^(NSInteger result) {
NSError *error = nil;
if (result == NSOKButton) {
[[NSFileManager defaultManager] removeItemAtURL:[savePanel URL] error:nil]; // attempt to remove file at the desired save location before moving the recorded file to that location
if ([[NSFileManager defaultManager] moveItemAtURL:outputFileURL toURL:[savePanel URL] error:&error]) {
[[NSWorkspace sharedWorkspace] openURL:[savePanel URL]];
} else {
[savePanel orderOut:self];
[self presentError:error modalForWindow:[self windowForSheet] delegate:self didPresentSelector:@selector(didPresentErrorWithRecovery:contextInfo:) contextInfo:NULL];
}
} else {
// remove the temporary recording file if it's not being saved
[[NSFileManager defaultManager] removeItemAtURL:outputFileURL error:nil];
}
}];
效果图:
<img src="http://img.blog.csdn.net/20140807162831514? watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1YW55aXR1b2t1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
最新文章
- ES6 对象解构
- Oracle 查询性能优化实践
- flex的http URL转码与解码
- 《你不知道的javascript》一、函数作用域和块作用域
- php防盗链,php ci在control里面控制除了自己站内的链接点击跳转,其他来源的都跳到站内页面
- [欧拉] poj 2230 Watchcow
- linux 防火墙--firewalld学习
- 《图解CSS3》——笔记(一)
- 在外部存储器上写入或读取文件(Environment类、File类的使用)
- react学习笔记1--基础知识
- 《.NET 编程结构》专题汇总
- UIView的生命周期和layout方法总结
- 【小瑕疵】表单中的button会自动提交?
- Redis学习-复制
- CSS input type=";number";出现上下箭头时解决方案
- angular2.x指令
- 使用 new XMLHttpRequest() 制作下载文件进度条
- 第25月第3天 Mxshop项目记录01
- POJ 3083 Bfs+Dfs
- [leetcode]496. Next Greater Element I下一个较大元素