Pull request for launcher edit feature.
This feature request is incomplete, but I thought a pull request will help aid comments on features and a place to track changes.
One of the main differences over Three20's launcher is the NILauncherView is agnostic to the data items, therefore the view can no longer be responsible for (for example) delete/close buttons on launch items.
Maintaining the datasource concept we need to implement the drag and drop reordering.
Note to self: look at UITableView's Managing the Reordering of Rows: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/ManageReorderRow/ManageReorderRow.html#
Added initial LongPressGestureRecognizer
You may wish to check out the SDK Availability functionality in the core:
Implementation (with a similar note about the private API version of gesture recognizers).
Should we add the other gesture recognisers to Nimbus Core?
Also, the function for the tap recognizer class uses NIDeviceOSVersionIsAtLeast.; should we not use the respondsToSelector as instructed by your Attention note??
This is a strange case where I think it may be simpler/safer to check the device's SDK version. Allocating a class before we're sure whether it's the correct implementation sounds scarier to me than checking the device SDK.
Been thinking about making accessing the gestures classes easier/scalable, but I can't see a better way than a separate method for each.
All my other thoughts involved strings or enums, which in it self causes other problem.
Also because you want to make sure you maintain the statically created class it would then involve a massive if-else or (shudder...) switch statement.
I think also from an implementation point of view having a method per class would stay in line with all the gesture recognizers being concrete classes.
My only other suggestion is to create methods that only return a BOOL on UIPopoverController/UIGestureRecognizer availability and leave it up to the user to instantiate the class, but I guess that may seem a bit backwards.
Added other UIGestureRecognizers to the NI Core
Uses NIUILongPressGestureRecognizerClass in NISDKAvalibility instead …
…of custom method
Added better button item animation that looks more like the iOS Sprin…
Added edit delegates
Fixed mistake in last merge conflict
Note: This is related to task #6.
Some quick feedback:
Next steps just to add some context to this pull request at this milestone:
Was wondering what the status on this was. Is it basically feature complete except for the 'wiggle speed' question and dragging icons?
@alias1 I believe so.
Not sure if this is the right place to mention it, but was thinking that it could be cool to have a 'folders' type feature in the launcher (similar to the one in springboard)
@jverkoey Was wondering when this feature was getting merged into master?
Icon dragging must be added in order to make this feature useful, so until that gets built this will have to chill.
hey guys, any resolution on this yet?
I'm planning to deprecate the Launcher feature due to the fact that, as a platform, iOS apps moved away from launcher-style interfaces long ago.