カメラロールから複数画像取得してPDFに変換して開くまでのライブラリ作った


注意事項

ベースとしているオリジナルライブラリの導入が必須です。
それも配布しますが、UIKitを多分に変更するので気をつけてください。

動き

alt

実装コード

ただし見てわかるように非常に独自仕様


class ImagePickViewController: ADNavigationController {

    //今回のキモ、カメラロールから複数選択を行う
    let imagePicker = RMImagePicker()
    //Androidっぽいボタン
    let okButton = ADMainButton(icon: "done")

    //画面の設定を行う
    override func setSetting() {
        //ナビゲーションバーに表示されるタイトル
        title = "カメラロール"
    }

    //UIの設定を行う
    override func setUISetting() {
        //ボタンのアクションを設定 ここではimagePicker.endPickingImage()
        okButton.addAction(imagePicker.endPickingImage)

        //endPickingImage()を呼ぶと画像の配列で呼ばれる images:[UIImage]
        imagePicker.completion = {images in

            //[UIImage] の extension,PDF に変換 data:NSData
            images.createPDF {data in

                //NSData の extension,name で保存 url:NSURL
                data.save("tmp.pdf") {url in
                    //UIDocumentInteractionController を表示する show(from:RMViewController,_ url:NSURL)
                    RMDocumentController.show(self,url)
                }
            }
        }
    }

    //UIの追加を行う
    override func addUIs() {
        addSubview(imagePicker.view)
        //メインボタンをokButtonに設定
        mainButton = okButton
    }

    override func setLoadControl() {
        //imagePickerのサイズをfullContentsFrameに
        imagePicker.frame = fullContentsFrame
    }
}


ダウンロード

ちょっと待って

RM

そのうちライブラリの方の解説も作る
でもまだ仕様が安定しないから、もうちょっと経ってからで