Closed perkinss closed 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.
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
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.
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.
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.
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.
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)
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.