2017-02-14 18 views
0

を既存の選択し、それが写真を要求し、このようなものがポップアップ表示さ: enter image description hereスウィフト - 写真を撮るか、私はアプリを使用していますたび

のy'allのいずれかが実際に何が起こっているかについての基準を持っていますかここに?いくつかの組み込み関数やこれに使用されるオープンソースライブラリがありますか?私は、interwebs上の特定のリソースを見つけるように見えることはできません。

ありがとうございます!あなたのスクリーンショットで

+0

私の基本的なモーダルアラートのようです。それ以上のことはありません。 *本当の*質問はあなたが "写真を撮る"か "既存を選ぶ"ときにあなたが見るものです - 彼らはUIImagePickerControllerを使用していますか? – dfd

答えて

2

は、次の2つのアクションでUIAlertControllerを参照してください。

let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) 
let cameraAction = UIAlertAction(title: "Take Photo", style: .default, handler: nil) 
let photoLibraryAction = UIAlertAction(title: "Choose Existing", style: .default handler: nil) 

actionSheet.addAction(camerAction) 
actionSheet.addAction(photoLibraryAction) 

はフォトライブラリにアクセスするか、新しい写真を撮影するためにカメラを使用して、あなたがUIImagePickerControllerを見てしたい場合があります。

+1

まさに私が必要としたものです。それはUIAlertControllerです。ありがとうございました! – Ryan

0

UIAlertControllerStyleエニュームactionSheetと表示されているようです。選択に応じて、UIImagePickerControllersourceTypephotoLibraryまたはcameraとインスタンス化します。

これは、ユーザーの画像を取得するための標準的な動作です。

1

あなたがカメラのソースが利用可能かどうかをチェックして、コントローラに関連するアクションを追加することによって、動的にUIActionControllerを構築する必要があります。

let actionController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) 

if UIImagePickerController.isSourceTypeAvailable(.camera) { 
    let action = UIAlertAction(title: "Take Photo", style: .default, handler: { _ in 
     print("User tapped 'Take Photo'") 
    }) 
    actionController.addAction(action) 
} 

あなたはまた、「既存の選択」のための別のアクションを作成する必要があります「キャンセル」ボタンをクリックします。

次に、現在のView Controllerからアクションコントローラを表示するだけです。

+0

ありがとう!これは非常に役に立ちます。 – Ryan

関連する問題