fix legacy osc button drag to delete issue
This commit is contained in:
1 parent
91f012ee9f
commit
af2a2728f8
2 files changed
+6
-7
No files matched your search
@@ -223,7 +223,7 @@ static float L3_Y;
|
|||||||
|
|
||||||
_originalControllerLayerOpacityDict = [[NSMutableDictionary alloc] init];
|
_originalControllerLayerOpacityDict = [[NSMutableDictionary alloc] init];
|
||||||
// we have to retrieve largerStickLR1 setting direct from the database, since streamConfig is invalid in LayoutOnScreenControls
|
// we have to retrieve largerStickLR1 setting direct from the database, since streamConfig is invalid in LayoutOnScreenControls
|
||||||
DataManager* dataMan = [[DataManager alloc] init];
|
// DataManager* dataMan = [[DataManager alloc] init];
|
||||||
_largerStickLR1 = true;
|
_largerStickLR1 = true;
|
||||||
_oscTapExlusionAreaSizeFactor = 1.05;
|
_oscTapExlusionAreaSizeFactor = 1.05;
|
||||||
|
|
||||||
|
|||||||
+5
-6
@@ -1115,7 +1115,7 @@
|
|||||||
OnScreenWidgetView* widget = (OnScreenWidgetView* )sender;
|
OnScreenWidgetView* widget = (OnScreenWidgetView* )sender;
|
||||||
[self.layoutOSC updateGuidelinesForOnScreenWidget:widget];
|
[self.layoutOSC updateGuidelinesForOnScreenWidget:widget];
|
||||||
[self.view bringSubviewToFront:widget];
|
[self.view bringSubviewToFront:widget];
|
||||||
trashCanButton.tintColor = [self layerOverlapWithTrashcanButton:widget.layer] ? [UIColor redColor] : trashCanStoryBoardColor;
|
trashCanButton.tintColor = [self layerIsOverlappingWithTrashcanButton:widget.layer] ? [UIColor redColor] : trashCanStoryBoardColor;
|
||||||
self.undoButton.alpha = 1.0;
|
self.undoButton.alpha = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1166,8 +1166,7 @@
|
|||||||
|
|
||||||
// -------- for OSC buttons
|
// -------- for OSC buttons
|
||||||
[self.layoutOSC touchesMoved:touches withEvent:event];
|
[self.layoutOSC touchesMoved:touches withEvent:event];
|
||||||
if ([self.layoutOSC isLayer:self.layoutOSC.layerBeingDragged
|
if ([self layerIsOverlappingWithTrashcanButton:self.layoutOSC.layerBeingDragged]) { // check if user is dragging around a button and hovering it over the trash can button
|
||||||
hoveringOverButton:trashCanButton]) { // check if user is dragging around a button and hovering it over the trash can button
|
|
||||||
trashCanButton.tintColor = [UIColor redColor];
|
trashCanButton.tintColor = [UIColor redColor];
|
||||||
}
|
}
|
||||||
else trashCanButton.tintColor = trashCanStoryBoardColor;
|
else trashCanButton.tintColor = trashCanStoryBoardColor;
|
||||||
@@ -1184,7 +1183,7 @@
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (bool)layerOverlapWithTrashcanButton:(CALayer* )layer{
|
- (bool)layerIsOverlappingWithTrashcanButton:(CALayer* )layer{
|
||||||
CALayer *commonLayer = self.view.layer; // 假设它们在同一个 superview 下
|
CALayer *commonLayer = self.view.layer; // 假设它们在同一个 superview 下
|
||||||
|
|
||||||
CGRect rect1 = [layer convertRect:layer.bounds toLayer:commonLayer];
|
CGRect rect1 = [layer convertRect:layer.bounds toLayer:commonLayer];
|
||||||
@@ -1202,7 +1201,7 @@
|
|||||||
if(selectedWidgetView) [self.view insertSubview:selectedWidgetView belowSubview:_widgetPanelStack];
|
if(selectedWidgetView) [self.view insertSubview:selectedWidgetView belowSubview:_widgetPanelStack];
|
||||||
|
|
||||||
|
|
||||||
if(!isToolbarHidden && self->selectedWidgetView != nil && [self layerOverlapWithTrashcanButton:selectedWidgetView.layer]){
|
if(!isToolbarHidden && self->selectedWidgetView != nil && [self layerIsOverlappingWithTrashcanButton:selectedWidgetView.layer]){
|
||||||
[self->selectedWidgetView removeFromSuperview];
|
[self->selectedWidgetView removeFromSuperview];
|
||||||
[self.OnScreenWidgetViews removeObject:self->selectedWidgetView];
|
[self.OnScreenWidgetViews removeObject:self->selectedWidgetView];
|
||||||
[selectedWidgetView.stickBallLayer removeFromSuperlayer];
|
[selectedWidgetView.stickBallLayer removeFromSuperlayer];
|
||||||
@@ -1213,7 +1212,7 @@
|
|||||||
|
|
||||||
//removing OSC buttons
|
//removing OSC buttons
|
||||||
if (!isToolbarHidden && self.layoutOSC.layerBeingDragged != nil &&
|
if (!isToolbarHidden && self.layoutOSC.layerBeingDragged != nil &&
|
||||||
[self.layoutOSC isLayer:self.layoutOSC.layerBeingDragged hoveringOverButton:trashCanButton]) { // check if user wants to throw OSC button into the trash can
|
[self layerIsOverlappingWithTrashcanButton:self.layoutOSC.layerBeingDragged]) { // check if user wants to throw OSC button into the trash can
|
||||||
// here we're going to delete something
|
// here we're going to delete something
|
||||||
|
|
||||||
self.layoutOSC.layerBeingDragged.hidden = YES;
|
self.layoutOSC.layerBeingDragged.hidden = YES;
|
||||||
|
|||||||
Reference in new issue
Block a user