perkinss / Beachcomber

The ONC beachcomber app
1 stars 1 forks source link

Table needs multi-select #10

Closed perkinss closed 12 years ago

perkinss commented 12 years ago

One of the requirements for upload (and deletion) is to be able to select a number of entries and then click the upload or the delete button and have the action performed on all selected cells in the table.

jrproctor commented 12 years ago

Personally, I think the current table view (PhotoTableViewController) doesn't have more room for additional UI elements. There are no more intuitive clickable areas left (right and left top bar buttons are taken, built-in tableview deletion/reordering features are taken, selection of row and accessory button are taken). I propose that I implement a similar TableViewController that does not have the deletion/reordering features, and does not load photo details when you press a row. Instead, clicking a row causes that photo to be added to the selection, by for example displaying a check mark on the right hand side. The user could press a 'done' button at the top when all photos are chosen. This could be called PhotoSelectionViewController. And would be added as an additional option ('upload') from the base page of the app. Alternatively, I could try to cram it into the existing TableView, but I think it would not be intuitive.

jrproctor commented 12 years ago

See the top answer in this stack overflow thread for an example of the built in table cell checkmark accessory

http://stackoverflow.com/questions/2082912/how-to-use-a-uitableview-to-return-a-value

perkinss commented 12 years ago

I like the table the way it is, and we could work around it as you suggest. my worry would be that we (and by we I mean you =) would do all that work only to have someone say "that's not what we asked for". I think the reordering function is cool but was not a requirement, so I wonder whether it would be better to forget the move-bars and change the PhotoTableViewController so it works a bit like the mail inbox directory on iphone: When you click Edit, you get a bunch of circles on the left which you can touch to select, and then a toolbar at the bottom that gives you the options to Delete /Upload /Upload and Delete all selected; or would it be better to do as you suggested for the PhotoSelectionViewController. I guess it's a matter of how much time and how much the owner wants it a certain way.

perkinss commented 12 years ago

http://stackoverflow.com/questions/308081/is-it-possible-to-configure-a-uitableview-to-allow-multiple-selection

jrproctor commented 12 years ago

Yes that stack overflow question refers to exactly what I was going to do with the 2nd table view (PhotoSelectionViewController). It is impossible to use that implementation in our existing table view because we are already using both (1) the selection behaviour to show the image full screen, and (2) the accessory view behaviour to provide a button that allows the user to change category,comment, and composition. In this second table view I proposed, the selection behaviour would add/remove the photo from the current selection, while the accessory view would show a check mark for selected photos. I will research more about what is possible tonight. I'm not familiar with the Mail app so I will have to check that out.

As for the deletion behaviour, I was just following what is recommended by the iOS UI design guidelines. If there are other recommended imeplementations of the delete functionality I can definitely explore those too.

jrproctor commented 12 years ago

Okay it turns out UITableView has a property allowsMultipleSelectionDuringEditing, which seems to make the editing mode look like the Mail editing. It may be easier than I thought to implement that style of deletion/upload (and in accordance with style guidelines). I will try to work on this tonight. Note that this property is iOS 5.0 only, which would limit our app to only be installed on devices on 5.0 or higher.

perkinss commented 12 years ago

I wonder if we should bring that to the scrum meeeting Friday morning. I know they want it to be compatible with older phones. Maybe the decision will be to use the other idea with the Upload button that takes the user to a new multi-select table.

jrproctor commented 12 years ago

I implemented a separate interface for multiple selection of photos using row selection behaviour, and check mark accessory to indicate selection. We can reopen this issue if we decide to change it to the Mail-style multiple selection functionality (which is iOS5 only)