从捆绑下载文件按钮点击

问题描述:

我正在一个应用程序中,我有一个应用程序包中的目录中的9个pdf文件,我想按下按钮下载文件。简要信息我想实现 - 如果我在文本字段中输入任意2位数字并单击提交,逻辑将2位数字的值添加为单值(1-9),如果2位数字的输出为1数字会切换大小写,并在textview上显示输出pdf文件,在textview下面有一个保存按钮,我如何下载保存按钮单击的pdf文件。 “从捆绑下载文件按钮点击

(IBAction)btnc:(id)sender { if([_textfield.text intValue]>31 &&[_textfield.text intValue]>0) 

{ 
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"WARNING" message:@"Please Enter Correct Details." preferredStyle:UIAlertControllerStyleAlert]; 
    [self presentViewController:alert animated:YES completion:nil]; 
    UIAlertAction* OK = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) 
         { 
         }]; 
    [alert addAction:OK]; 

} 
else{ 

    { 
     int sum, i ,j ; 
     sum=0; 
     sum= [_textfield.text intValue]; 
     for(i=0;i<=10;i++) 
     { 
      j=sum%10; 
      sum=sum/10; 
      sum=sum+j; 
     } 

     for(i=0;i<=10;i++) 
     { 
      j=sum%10; 
      sum=sum/10; 
      sum=sum+j; 
     } 
     NSLog(@"%i",sum); 
     NSString *str = [NSString stringWithFormat:@"%d", sum]; 

     self.lb.text = str; 

     switch(sum) 
     { 
      case 1 : 

       NSLog(@"1\n"); 
       break; 
      case 2 : 

       NSLog(@"2\n"); 
       break; 
      case 3 : 

       NSLog(@"3\n"); 
       break; 
      case 4 : 

       NSLog(@"4\n"); 
       break; 
      case 5 : 

       NSLog(@"5\n"); 
       break; 
      case 6 : 

       NSLog(@"6\n"); 
       break; 
      case 7 : 

       NSLog(@"7\n"); 
       break; 
      case 8 : 

       NSLog(@"8"); 
       break; 
      case 9 : 

       NSLog(@"9 \n"); 
       break; 
      default : 

       NSLog(@"incorrect\n"); 
     } 

     DescriptionViewController *face = [self.storyboard instantiateViewControllerWithIdentifier:@"Description"]; 
     [face setStr:[self descriptionForSum:sum]]; 
     [self.navigationController pushViewController:face animated:YES]; 
    } 
}} 

    - (NSString *)descriptionForSum:(int)sum{ 
NSString * returnedDescription = @""; 
NSString *filePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"me%d", sum] ofType:@"pdf" inDirectory:@"Text"]; 
NSData *myData = [NSData dataWithContentsOfFile:filePath]; 

if (myData) { 
    returnedDescription = [[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding]; 
    return returnedDescription; 
} 
return returnedDescription; } 

如果对1的输出保存按钮为图像中如果输出为2,则该文件将me2.pdf开始下载与me1.pdf pdf文件将开始下载用户点击。

+0

如果你的包中的文件那么你为什么要下载?你想在PDF阅读器中显示文件PDF文件吗? –

+0

@SaurabhJain我想将PDF保存在用户设备中,并希望将其分享。 – itsKamal

+0

如果您将PDF保存在捆绑包中,则用户可以使用QuickLook框架共享此PDF –

您展示在QuickLook的框架工作PDF: 在保存按钮:

QLPreviewController *previewVC = [[QLPreviewController alloc] init]; 
     previewVC.delegate = self; 
     previewVC.dataSource = self; 
     [self presentViewController:previewVC animated:YES completion:nil]; 

的Quicklook代表:

-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{ 
    return 1; 
} 

-(id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{ 
    @try { 
     NSURL *fileUrl = [NSURL fileURLWithPath:filePath]; 
     return fileUrl; 
    } @catch (NSException *exception) { 
     NSLog(@"Error In Func:%s and line:%d with reason:%@",__func__,__LINE__,exception.reason); 
    } 
} 

在快速查看视图控制器中,您将显示用户可以共享PDF的共享图标。 更多参考:https://www.appcoda.com/quick-look-framework/http://kratinmobile.com/blog/index.php/document-preview-in-ios-with-quick-look-framework/

+0

我在我的应用程序中有一个保存按钮,pdf文件在包中,并且该文件的内容根据输出显示在textview上,输出为1,文件1.pdf的内容将显示在textview上,当用户点击保存按钮时,文件1.pdf将开始在用户iphone中下载或保存在用户手机中,并提示或弹出消息下载成功 – itsKamal

+0

感谢您的努力。但无法用您的答案解决问题。 – itsKamal

+0

好的,我的荣幸。我尽力了。快乐编码:) @itsKamal –