我正在使用Xamarin和MvvmCross来创建一个iPad应用程序。在这个应用程序中,我使用PictureChooser插件用相机拍照。这一切都以相关的youtube video中可以看到的方式发生。
完成此任务的代码非常简单,可以在下面找到。但是,在实际设备上测试时,相机可能会旋转。
private readonly IMvxPictureChooserTask _pictureChooserTask;
public CameraViewModel(IMvxPictureChooserTask pictureChooserTask)
{
_pictureChooserTask = pictureChooserTask;
}
private IMvxPictureChooserTask PictureChooserTask { get { return _pictureChooserTask; } }
private void TakePicture()
{
PictureChooserTask.TakePicture(400, 95,
async (stream) =>
{
using (var memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
var imageBytes = memoryStream.ToArray();
if (imageBytes == null)
return;
filePath = ProcessImage(imageBytes, FileName);
}
},
() =>
{
/* no action - we don't do cancellation */
}
);
}
这会导致不必要的行为。相机应保持稳定,并防止在App内旋转。我一直在尝试一些东西,例如在相机模式下阻止应用程序在覆盖bool ShouldAutorotate 方法中旋转,但遗憾的是没有任何结果。
是否有任何我忘记在PictureChooser上设置的设置,或者覆盖方法是我应该执行某些魔术的项目?
提前致谢。
答案 0 :(得分:0)
用户3455363在问题的评论中提出了对这个问题的回答,非常感谢!最终它似乎是iOS 8中的一个错误.iOS 8.1升级修复了我的App中的这个问题!