Comments (9)
Thanks for your detailed response @renssies !
I am the maintainer of the popular Flutter plugin multi_image_picker. Currently for the iOS part I am using BSImagePicker, but I've been seeking another iOS library to replace it with, as the maintainer did some breaking changes and also had some bad attitude towards another OSS users. I find Tatsi a great replacement, with this the only thing being a blocker and possibly introduce e breaking change if I do the switch.
While I see your point and I feel your concerns, I would say that picking images across several albums is a very common thing. At least with BSImagePicker you could select multiple images from different albums. Then when opening it again with pre selected array of images that's fine, you don't need any special UX about that, you don't even need to open the current album that the images were selected from. Good UX would be to provide the option to remove the image when selected outside of the picker rather than trying to provide this functionality when opening the picker. Of course you can do the latter, but when you invoke the picker you are actually trying to select / add more images rather than trying to deselect them, in which case the lack of option to pre select images becomes a pain.
Take the following use case: you have an app where you can select multiple images to be sent to an API endpoint. You open the picker, select multiple images from different folders and click ok. But then you decide you don't want one of them and want to add two more. A good UX would allow to remove any picture from the selection right the in page where you visualise the selection in the app itself.
Now about adding two more images to the selection. You tap add again and you open the picker. Because there is no way to provide pre selected images, the user won't be able to see his currently selected photos in any of the albums he navigates to, so he can choose them again, despite they are already selected, which is a problem and can't be handled properly during image selection.
I hope you follow my point. Thanks again for the great library!
from tatsi.
@Sh1d0w I've pushed the changes to pull request #47. Let me know what you think of the changes and if they work.
I will do some testing and if the feature works for you I will merge it to master and push it to cocoa pods :)
from tatsi.
I've thought about this feature before, however it gave us a user experience issues:
- What if the picker opens with the album list?
- What if the user opens or switches to an album that doesn't contain the assets?
The picker does not save the selection when switching to a different album because of this UX issue.
If you really need this functionality you could easily implement it in a fork of the library:
- Add an array property of
PHAsset
objects toTatsiConfig
- On
viewDidLoad
inAssetsGridViewController
set theselectedAssets
property to the contents of the array onTatsiConfig
However, this will still give the user the above issues and might not result in the perfect user experience.
You could however remove the album switch button, and also make sure the picker shows an album in which the assets are available (see firstView
on TatsiConfig
)
from tatsi.
Thanks for your point, I understand it now :)
My idea is to make "keeping the selection between albums" an opt-in option in the TatsiConfig
if that works for you? Opt-in would mean that it defaults to false
, and you need to set it to true
whenever you are opening the picker.
I will also add a way to set preselected assets on the TatsiConfig
. Does that work for you?
Edit: BTW, sorry for the slow reaction. My life is quite a rollercoaster at the moment.
from tatsi.
^ Yes, what you suggest would be more than great. No worries, I hope everything is ok with you!
from tatsi.
@Sh1d0w Just to give you an update, I'm still working on this one :)
from tatsi.
Thanks for the heads up @renssies . Really appreciate the effort you are putting into this!
from tatsi.
@renssies Thanks, look awesome! I can't test it atm as I am on a vacation but will do once I get back.
from tatsi.
I would like to see this PR merged and the pod spec updated so we can use it!
from tatsi.
Related Issues (20)
- Do not count the number of photos in the album every time. They can be cached. HOT 2
- Small 50x50 thumbnails on iOS 13 when modalPresentationStyle is fullscreen
- Swift Package Manager support
- Finish and Album button are not visible due to the white color HOT 3
- iOS 13 Memory Issue HOT 4
- 1.1.7 Cocoapods release HOT 1
- Tatsi crashes on `PHImageManager.requestImage` HOT 1
- Wrong navigation bar padding when presented as second modal view controller HOT 1
- Its not "Support for smart albums, user created albums and iCloud shared albums" HOT 1
- Last selected album or library HOT 2
- Image selection sequence issue and number show of selection HOT 3
- Low Quality Images after Importing! HOT 4
- video max duration HOT 1
- Link color configuration not completely implemented HOT 1
- Is this project still necessary? HOT 1
- Reusable cell HOT 1
- Handling PHAuthorizationStatus.limited HOT 1
- Integration with SwiftUI HOT 2
- drag finger to select multiple not supported HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tatsi.