8월, 2018의 게시물 표시

[iOS] PDFkit example

이미지
iOS 앱에서 평균적으로 PDFViewer는 WebKit(WebView) 를 통해서 표현해주고 있다. 이번에 iOS 11이상부터  Developer Apple - PDFKit  API를 통해서 자체적으로 PDFView를 쉽게 만들수 있다. 1. PDFViewer 기능 2. Thumbnail 기능 3. PDF Page 이동기능 4. Search 기능 5. PDFWrite 기능 등 으로 존재하고 있으며, 필자는 1,2,3 기능이 주로 필요함으로 예제는 1,2,3에 대한 내용으로 다루고 있다. ( PDF를 다운받아서 예제를 통해서 Search 기능을 테스트 해보았는데, 잘 이뤄지지 않았는데, PDF 속성과 관련있는지는 확인이 필요하다.) Github : PDFKit_example 작동되는 영상 ViewController.swift (나머지 소스는 GitHub 참고해주시기 바랍니다.) // //  ViewController.swift //  PDFKitSample // //  Created by JW_Macbook on 2018. 8. 30.. //  Copyright © 2018년 JW_Macbook. All rights reserved. // import UIKit import PDFKit class  ViewController: UIViewController {      // Sample PDFView(UIView)     @IBOutlet weak var pdfView: PDFView !      // Sample ThumtableView     @IBOutlet weak var thumTableView: UITableView !     var pdfThumArray:NSMutableArray  =  NSMutableArray()     var localPdfDocument:PDFDocument?     let identifier  =   &q

[iOS] UIFeedbackGenerator example (iOS 햅틱반응 API)

iPhone 7의 홈 물리버튼이 사라지면서, iOS 10 때 추가된 API 입니다. Developer Apple - UIFeedbackGenerator  (링크 참고) 샘플소스는 매우 간단한 편이며, 예외처리 필요없이 햅틱기능이 있는 기기에서만 작동 합니다. Github : UIFeedbackGenerator-Sample ViewController.swift import UIKit class  ViewController: UIViewController {     override func viewDidLoad() {          super .viewDidLoad()          // Do any additional setup after loading the view, typically from a nib.     }     override func didReceiveMemoryWarning() {          super .didReceiveMemoryWarning()          // Dispose of any resources that can be recreated.     }          /// UIButton Touch Up Inside Action      ///      /// - Parameter sender: UIButton (tag)     @IBAction func doFeedbackGenerator(_ sender: Any) {         let senderButton:UIButton  =  sender as !  UIButton          switch  senderButton.tag {          case   1 :             let generator  =  UINotificationFeedbackGenerator()             generator.notificationOccur

블로그 소스코드 넣기 (Additing Blog SourceCode)

이미지
네이버 블로그에서도 사용하고 있었는데, 해당 URL 을 통해서 본인이 원하는 스타일의 테마로 코드를 작성하여 블로그에 붙여넣으면 블로그에 깔끔하게 표현 된다. -  블로그 소스코드 정리 URL(https://colorscripter.com/info) 2018년 10월 11일 추가 항목. -  구글블로그 깔끔 소스코드정리 (Color Scripter) # 구글블로그에서 작성시 정상적인 표현이 되지 않고 있어서 사용법은 추가정리하였습니다. 필자는 웹버전으로 사용하고 있으며, 생각보다 다양한 언어의 스타일에 맞게 지원해준다. (iOS 개발자이다 보니, Objective C, Swift 언어와 서브라임 블랙태마를 선호하여 사용한다.) 마지막으로 실제 블로그에서 사용시에는 "클립보드에 복사" 버튼을 클릭하고 블로그에 복사해서 사용하면 된다. (아래와 같이 표현됨) 1 2 3 4 5 6 7 8 // 검사후 중복데이터 삭제해주기. NSMutableArray  * receiverList  =  [[dicData arrayForKey:@ "receiver" ] mutableCopy]; NSOrderedSet  * orderSet  =  [[NSOrderedSet  alloc ] initWithArray:receiverList]; receiverList  =  [[NSMutableArray  alloc ] initWithArray:[orderSet array]]; NSLog (@ "" ); Colored by Color Scripter cs

[iOS] NSArray Deduplication (NSArray 중복제거)

  NSArray의 중복제거를 NSOrderedSet를 활용하여 중복제거함.   생각보다 유용하게 사용하는 함수임. 1 2 3 4 5 6 7 8 9 10 11 // 중복제거 테스트.     NSMutableArray  * tempArray  =  [[NSMutableArray  alloc ]  init ];     [tempArray addObject:@{@ "seq" :@ "599" }];     [tempArray addObject:@{@ "seq" :@ "2760" }];     [tempArray addObject:@{@ "seq" :@ "599" }];           NSLog (@ "" );          NSOrderedSet  * orderSet  =  [[NSOrderedSet  alloc ] initWithArray:tempArray];     tempArray  =  [[NSMutableArray  alloc ] initWithArray:[orderSet array]];      NSLog (@ "" ); Colored by Color Scripter cs