2016-09-19 16:08:51 xujing_1992 阅读数 227
  • Cocos Creator第一季:让游戏开发更简单

    Cocos Creator游戏引擎是一个完整的游戏开发解决方案,包含从设计、开发、预览、调试到发布的整个工作流所需的全部功能。目前支持发布游戏到 Web、iOS、Android、各类"小游戏"、PC 客户端等平台,真正实现一次开发,全平台戏开发

    887 人正在学习 去看看 言文

  1.完成布局 打开辅助编辑器  command+alt + enter

   

  2.将辅助编辑器中Automatic改为Manual

   

   3.点击修改的地方,选择Preview ;即Manual -- > Preview 

    

  4.上图即为布局的预览,左下脚的加号可以添加不同尺寸的屏幕的布局预览

2016-04-14 13:39:18 wsjtwzs 阅读数 1147
  • Cocos Creator第一季:让游戏开发更简单

    Cocos Creator游戏引擎是一个完整的游戏开发解决方案,包含从设计、开发、预览、调试到发布的整个工作流所需的全部功能。目前支持发布游戏到 Web、iOS、Android、各类"小游戏"、PC 客户端等平台,真正实现一次开发,全平台戏开发

    887 人正在学习 去看看 言文



使用工具: quickTime player(mac自带), adobe premiere cc 视频剪辑


《1》quickTime Player 录制

a.把手机连接到电脑;

b.打开quickTime Player ,点击导航栏 文件 -》新建影片录制,如下图选择手机录制,可以按屏幕录制,然后使用pr cc中的视频过渡效果进行转场,避免程序转场时的加载过程



《2》pr cc 剪辑

a.点击导航栏 文件 -》导入录制的视频;注意事项:如果显示的视频有黑边,是因为导入的视频分辨率小于默认的设置,点击导航栏 序列-》序列设置 把视频帧大小改为录制的视频大小即可,我的是 750*1334;

b.先把需要剪辑掉的部分通过点击入点 出点 提取删掉;

c.剪辑好的部分右键点击选择嵌套后生成不可拉伸的片段,否则使用过渡效果的时候会出现被剪掉的部分;

d.需要加速的部分选中后右键点击选择速度与持续时间 ,可以设置播放的速度;

e.全部搞定后添加视频过渡效果,过渡效果必须是在不同素材之间才能添加,如果是同一个素材分成了两段,添加时会出现无效果的问题,此时单独保存下重新导入变成两个素材使用即可;或者把两边拉伸一下再添加过渡效果,但是效果可能会不太理想

d.将入点设在起点,出点设在终点,点击导航栏 文件 - 》导入 —》媒体 导出不同尺寸的视频,格式参考图2

e.完成,遇到其他问题请问伟大的度娘;





2018-12-31 22:49:10 SysProgram 阅读数 459
  • Cocos Creator第一季:让游戏开发更简单

    Cocos Creator游戏引擎是一个完整的游戏开发解决方案,包含从设计、开发、预览、调试到发布的整个工作流所需的全部功能。目前支持发布游戏到 Web、iOS、Android、各类"小游戏"、PC 客户端等平台,真正实现一次开发,全平台戏开发

    887 人正在学习 去看看 言文

在应用开发中,有时候需要预览文档和视频,使用 UIDocumentInteractionController 来预览文件非常方便,支持的格式比较多,比如 docx、xlsx、pdf、mov、mp4、jpg、png 等等都可以。具体代码如下:

@interface ViewController () <UIDocumentInteractionControllerDelegate>
 
@property(nonatomic,strong) UIDocumentInteractionController * documentVC;
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    NSString *path = [[NSBundle mainBundle] pathForResource:@"第 7 章 Mach-O 文件格式解析" ofType:@"docx"];
    NSURL *url = [NSURL fileURLWithPath:path];
    
    self.documentVC = [UIDocumentInteractionController interactionControllerWithURL:url];
    self.documentVC.delegate = self;
    
    dispatch_async(dispatch_get_main_queue(), ^{
        BOOL b = [self.documentVC presentPreviewAnimated:YES];
    });
}
 
#pragma mark 代理方法
//为快速预览指定控制器
- (UIViewController*)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController*)controller
{
    NSLog(@"%@",NSStringFromSelector(_cmd));
    return self;
}
 
//为快速预览指定View
- (UIView*)documentInteractionControllerViewForPreview:(UIDocumentInteractionController*)controller
{
    NSLog(@"%@",NSStringFromSelector(_cmd));
    return self.view;
}
 
//为快速预览指定显示范围
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController*)controller
{
    NSLog(@"%@",NSStringFromSelector(_cmd));
    //    return self.view.frame;
    return CGRectMake(0, 0, self.view.frame.size.width, 300);
}
 
@end

 

效果如下图,点击 Done 就能回到主界面。

原文地址:https://www.exchen.net/ios-%E6%96%87%E4%BB%B6%E9%A2%84%E8%A7%88-uidocumentinteractioncontroller.html

2017-04-07 16:21:37 newtelcom 阅读数 2372
  • Cocos Creator第一季:让游戏开发更简单

    Cocos Creator游戏引擎是一个完整的游戏开发解决方案,包含从设计、开发、预览、调试到发布的整个工作流所需的全部功能。目前支持发布游戏到 Web、iOS、Android、各类"小游戏"、PC 客户端等平台,真正实现一次开发,全平台戏开发

    887 人正在学习 去看看 言文

最近公司用vue做跨平台前端,然后直接用UIWebView封装成app。体验还不错。

但是在预览附件的时候遇到一些问题:

1. 在页面中点击jpg文件可以正常预览,预览完成后可以关闭返回主页面;

2. 但是对于在线pdf文件,虽然可以正常预览,但预览的时候直接最大化窗口,无法关闭,所以也无法返回主界面,双击pdf预览窗口也无反应。


1. 首先需要解决预览在线pdf;

 @property (weak, nonatomic) IBOutlet UIWebView *web;
    
    NSURL *URL = [NSURL fileURLWithPath:@"http://wwwfujian.book118.com//dianzishu/%E5%90%8C%E5%9F%8E%E7%BD%91/3%E6%9C%88%E5%88%9D_83402/pdf/%E5%90%8C%E7%A8%8B%E7%BD%91%E5%BC%80%E5%B9%B3%E6%97%85%E6%B8%B8%E6%94%BB%E7%95%A5%EF%BC%882012%E5%B9%B4%E7%89%88%EF%BC%89.pdf"];

    if (URL) {
        // Initialize Document Interaction Controller
        self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL];
        
        // Configure Document Interaction Controller
        [self.docInteractionController setDelegate:self];
        
        
        self.docInteractionController.UTI = @"com.adobe.pdf";
        
        // Present Open In Menu
        //[self.docInteractionController presentOpenInMenuFromRect:rect inView:self.view animated:YES];
        
        [self.docInteractionController presentPreviewAnimated:YES];
    }


网上找了很多,都是类似的方法,却怎么都不行。


尝试改为本地pdf,直接就可以了,说明方法是对的。

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Steve"
                                                         ofType:@"pdf"];


下一步需要考虑如何把在线url形式的pdf转换为本地文件,即通过下载到本地。

   // Build URLS
    NSURL* url = [[NSURL alloc] initWithString:@"http://192.168.3.2:86/wap/file/downloadFile?fileId=9c2b408263dc4135a29eac8a1a1a0cec&fileUri=58e6feba0cf2532a21b0a249&fileName=abctest.pdf"];
    if (url) {
        NSURL* documentsUrl = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask].firstObject;
        NSURL* destinationUrl = [documentsUrl URLByAppendingPathComponent:@"temp.pdf"];
        
        // Actually download
        NSError* err = nil;
        NSData* fileData = [[NSData alloc] initWithContentsOfURL:url options:NSDataReadingUncached error:&err];
        if (!err && fileData && fileData.length && [fileData writeToURL:destinationUrl atomically:true])
        {
  
            // Initialize Document Interaction Controller
            self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:destinationUrl];
            
            // Configure Document Interaction Controller
            [self.docInteractionController setDelegate:self];
            
            
            self.docInteractionController.UTI = @"com.adobe.pdf";
            
            // Present Open In Menu
            //[self.docInteractionController presentOpenInMenuFromRect:rect inView:self.view animated:YES];
            
            [self.docInteractionController presentPreviewAnimated:YES];
        }
    }


通过上面的代码就可以实现预览在线pdf了,但是发现有一些pdf并不可以,获取到的NSURL是空的,怀疑是url中有中文字符导致,于是将url进行了编码处理。

            NSCharacterSet *encodeUrlSet = [NSCharacterSet URLQueryAllowedCharacterSet];
            NSString *encodeUrl = [absolutePath stringByAddingPercentEncodingWithAllowedCharacters:encodeUrlSet];
            NSLog(@"%@", encodeUrl);


测试没问题以后,开始下一步。


2. 成功后,才能通过协议拦截,自定义pdf查看;

#pragma mark - UIWebViewDelegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    //NSLog(@"%@", NSStringFromSelector(_cmd));
    
    //OC调用JS是基于协议拦截实现的 下面是相关操作
    NSString *absolutePath = request.URL.absoluteString;
    if (absolutePath != nil) {
        NSRange range = [absolutePath rangeOfString:@".pdf"];
        if (range.location != NSNotFound) {
            NSLog(@"%@", absolutePath);
            
            NSCharacterSet *encodeUrlSet = [NSCharacterSet URLQueryAllowedCharacterSet];
            NSString *encodeUrl = [absolutePath stringByAddingPercentEncodingWithAllowedCharacters:encodeUrlSet];
            NSLog(@"%@", encodeUrl);
            
            NSURL* url = [[NSURL alloc] initWithString:encodeUrl];
            if (url) {
                NSURL* documentsUrl = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask].firstObject;
                NSURL* destinationUrl = [documentsUrl URLByAppendingPathComponent:@"temp.pdf"];
                
                // Actually download
                NSError* err = nil;
                NSData* fileData = [[NSData alloc] initWithContentsOfURL:url options:NSDataReadingUncached error:&err];
                if (!err && fileData && fileData.length && [fileData writeToURL:destinationUrl atomically:true])
                {

                    // Initialize Document Interaction Controller
                    self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:destinationUrl];
                    
                    // Configure Document Interaction Controller
                    [self.docInteractionController setDelegate:self];
                    
                    self.docInteractionController.UTI = @"com.adobe.pdf";
                    
                    [self.docInteractionController presentPreviewAnimated:YES];
                    
                    return NO;
                }
            }
        }
    }

    return YES;
}

- (void)webViewDidStartLoad:(UIWebView *)webView{
    
}

- (void)webViewDidFinishLoad:(UIWebView *)webView{

}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
    NSLog(@"--------------%@",error);
}


发现点击以后,没有显示url,更谈不上拦截,检查已经设置了

webView.delegate = self;

也定义了:

@interface ViewController ()<UIWebViewDelegate, UIDocumentInteractionControllerDelegate>


那么问题在那?翻看以前的项目,应该区别在于webView创建的方式了,当前是动态创建,改为了绑定的方式后,一切正常。

@property (weak, nonatomic) IBOutlet UIWebView *web;


iOS 获取照相机实时预览

博文 来自: ccflying88
没有更多推荐了,返回首页