Media plugin for Xamarinは、デバイスの内蔵カメラ機能にアクセスする良い例です。
あなたの要件が少し違うように聞こえます。カメラページのUIをより詳細に制御する必要があります。代わりに独自のカスタムカメラページを作成することをお勧めします。このhereの素晴らしい例があります。これは、UIコントロールを作成するカメラプレビューページを実装します。これは、カスタムレンダラを使用します。
// The control used in shared code
public class CameraPreview : View
{
public static readonly BindableProperty CameraProperty = BindableProperty.Create (
propertyName: "Camera",
returnType: typeof(CameraOptions),
declaringType: typeof(CameraPreview),
defaultValue: CameraOptions.Rear);
public CameraOptions Camera {
get { return (CameraOptions)GetValue (CameraProperty); }
set { SetValue (CameraProperty, value); }
}
}
// Renderer for iOS, platform specific project
[assembly: ExportRenderer (typeof(CameraPreview),
typeof(CameraPreviewRenderer))]
namespace CustomRenderer.iOS
{
public class CameraPreviewRenderer : ViewRenderer<CameraPreview, UICameraPreview>
{
UICameraPreview uiCameraPreview;
protected override void OnElementChanged (ElementChangedEventArgs<CameraPreview> e)
{
base.OnElementChanged (e);
if (Control == null) {
uiCameraPreview = new UICameraPreview (e.NewElement.Camera);
SetNativeControl (uiCameraPreview);
}
if (e.OldElement != null) {
// Unsubscribe
uiCameraPreview.Tapped -= OnCameraPreviewTapped;
}
if (e.NewElement != null) {
// Subscribe
uiCameraPreview.Tapped += OnCameraPreviewTapped;
}
}
void OnCameraPreviewTapped (object sender, EventArgs e)
{
if (uiCameraPreview.IsPreviewing) {
uiCameraPreview.CaptureSession.StopRunning();
uiCameraPreview.IsPreviewing = false;
} else {
uiCameraPreview.CaptureSession.StartRunning();
uiCameraPreview.IsPreviewing = true;
}
}
...
}
}
他のプラットフォーム用の上記のリンクを見てみましょう。カスタムカメラページを作成し、Moments sampleの画像をキャプチャする別のサンプルがあります。各レンダラでは、画像をキャプチャするためのボタンが使用されています。これにより、ユーザーができること/できないことをより適切に制御できます。
カメラで何を制限する必要があるかについてより具体的な情報を含めると、詳細を編集できる場合があります。
見つけたソリューションはどのように試しましたか?プロジェクトのエラーメッセージといくつかのキーコードを表示できますか? –