2016-07-04 7 views
1

私はUIImagePickerControllerを使用してカメラビューを表示し、ユーザーはアプリを使用して写真を撮ることができます。しかし、私はUIImagePickerController'sカメラビューのトップバーを編集したいと思います - 私はユーザーがフラッシュや前面カメラのような設定を切り替えることを可能にするバーを指しています。UIImagePickerControllerのトップバーにアクセスするカメラビュー

UIImagePickerControllerプロパティを使用するcameraOverlayViewカメラビューにアクセスして変更することができます。しかし、トップバーに具体的にアクセスすることが可能か、その次元を見つけることが可能かどうかは疑問でした。これは、私がこのアクセス権を持っていれば、追加するカスタムビューオブジェクトを維持する方が簡単になるからです(トップバーがどこにあるかを推測する必要はありません)。

ありがとうございました、ありがとうございました。あなたはこのような何かを行うことができ

+0

uiimagepickercontrollerを提示すると自動的に表示されるデフォルトのオプションは、前面または背面とフラッシュのオン/オフです。 – Lion

+0

@Lionはい - ただし、トップバーにカスタムタイマーボタンも追加しようとしています。 –

答えて

-1

self.pickerOverlayView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
UIButton *timerButton = [[UIButton alloc]initWithFrame:CGRectMake((self.view.frame.size.width/2) - 25, 10, 50, 30)]; 
[timerButton setTitle:@"Timer" forState:UIControlStateNormal]; 
[timerButton addTarget:self action:@selector(timerButtonclick:) forControlEvents:UIControlEventTouchUpInside]; 
[self.pickerOverlayView addSubview:timerButton]; 

picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
[picker setCameraOverlayView:self.pickerOverlayView]; 

は、ボタンを作成し、そのoverlayviewに追加して、あなたのimagepickercontrollerのcameraOverlayviewとしてそのビューを設定し、カスタムoverlayviewください。

上記のコードでは、imagepickercontrollerのトップバーの中央にタイマーボタンが表示されます。

pickerOverlayViewは、uiviewのプロパティタイプです。 pickerUIImagePickerControllerオブジェクトです。

timerButtonclickは、目的のタスクを実行するための処理方法です。

希望します。

+0

私はあなたの助けに感謝しますが、残念ながらこれは私の質問に答えることはありません。私はあなたが単にこのようなオーバーレイビューを追加することができることを認識していますが、問題はこれを維持することにあります。これは、上部バーの幅がデバイスごとに変化するため、異なる画面サイズで維持するのが難しいためです。したがって、UIImagePickerControllerカメラまたはその属性の上部バーに特にアクセスする方法があるかどうかは疑問でした。ありがとう –

関連する問題