feature: refresh list & save to gallery
This commit is contained in:
@@ -44,5 +44,7 @@
|
||||
<false/>
|
||||
<key>UIStatusBarStyle</key>
|
||||
<string>UIStatusBarStyleDefault</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>需要访问您的图片库</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@@ -76,6 +76,7 @@
|
||||
<Compile Include="Renderers\RoundImageRenderer.cs" />
|
||||
<Compile Include="GlobalSuppressions.cs" />
|
||||
<Compile Include="Renderers\AdaptedNavigationPageRenderer.cs" />
|
||||
<Compile Include="Services\FileStore.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />
|
||||
|
45
Pixiview.iOS/Services/FileStore.cs
Normal file
45
Pixiview.iOS/Services/FileStore.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System.Threading.Tasks;
|
||||
using Pixiview.iOS.Services;
|
||||
using Pixiview.Utils;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
||||
[assembly: Dependency(typeof(FileStore))]
|
||||
namespace Pixiview.iOS.Services
|
||||
{
|
||||
public class FileStore : IFileStore
|
||||
{
|
||||
|
||||
public Task<string> SaveImageToGalleryAsync(ImageSource image)
|
||||
{
|
||||
IImageSourceHandler renderer;
|
||||
if (image is UriImageSource)
|
||||
{
|
||||
renderer = new ImageLoaderSourceHandler();
|
||||
}
|
||||
else if (image is FileImageSource)
|
||||
{
|
||||
renderer = new FileImageSourceHandler();
|
||||
}
|
||||
else
|
||||
{
|
||||
renderer = new StreamImagesourceHandler();
|
||||
}
|
||||
var photo = renderer.LoadImageAsync(image).Result;
|
||||
|
||||
var task = new TaskCompletionSource<string>();
|
||||
if (photo == null)
|
||||
{
|
||||
task.SetResult(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
photo.SaveToPhotosAlbum((img, error) =>
|
||||
{
|
||||
task.SetResult(error?.ToString());
|
||||
});
|
||||
}
|
||||
return task.Task;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user