-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Conversation
The display link work is pretty straightforward. Correct me if wrong @bleege but there are two parts to the approach:
I've captured this branch's diff here since it's pretty light: https://gist.github.com/incanus/286b534c636c601a73f6 Now deleting |
|
Ok, I have the important bits of Capturing diff of https://gist.github.com/incanus/efe93044e9a9aa44e487 Deleting |
Backlog:
|
Comparing selection work from |
Based on some rough tests with MapKit, it would appear that despite taking and returning an array of selected annotations,
Then, only one annotation is ever returned in this array, so I've mirrored that behavior. Next up is pulling over the gesture work to 1) properly select annotation based on GL-side marker taps and 2) properly iterate through nearby markers when the group is tapped upon. |
Working through the intricacies of gestures & cycling selection state now, which is tricky since the markers aren't actual touch-enabled views at all, just pinpoint coordinates, plus we somehow have to communicate the sprite image size back to the gesture interpretation, as well as whether it has transparent areas. |
Ok, I think I've gotten annotation selection/deselection gestures tuned well enough for a typical marker size and offset, including with map rotation (which doesn't change marker orientation, but does change the translation of screen-to-geography bounding boxes). The proof of this of course will be a natural-feeling popup in response to map taps, so I'm jumping over to #894 next. Per #1037 (comment), that just leaves in this ticket the header documentation for the new public API methods on For posterity, in case anyone ever needs the flashing red rectangle shown above for debug purposes, it's easily done near the top of UIView *debugView = [[UIView alloc] initWithFrame:tapRect];
debugView.backgroundColor = [[UIColor redColor] colorWithAlphaComponent:0.25];
debugView.userInteractionEnabled = NO;
[self addSubview:debugView];
[UIView animateWithDuration:1
animations:^
{
debugView.alpha = 0;
}
completion:^(BOOL finished)
{
(void)finished;
[debugView removeFromSuperview];
}]; |
Eh, scratch this. We should finish the docs here first and get this merged to |
Header docs are done in 0a5e02d; making a new squashed PR now. |
→ #1055 |
Changes Unknown when pulling 0af36ae on cocoa-annotations-api into * on master*. |
Goal here is to take the best parts of these intermingled branches:
877-display-link
877-callout
877-point-callout
Then to get rid of them and shore up the definitive Cocoa model API here.
/cc @1ec5