Added -[TUIView ancestorSharedWithView:]
This commit is contained in:
@@ -304,6 +304,12 @@ extern CGRect(^TUIViewCenteredLayout)(TUIView*);
|
||||
- (void)willMoveToWindow:(TUINSWindow *)newWindow;
|
||||
- (void)didMoveToWindow;
|
||||
|
||||
/**
|
||||
* Returns the closest ancestor that is shared by the receiver and another view,
|
||||
* or nil if there is no such view.
|
||||
*/
|
||||
- (TUIView *)ancestorSharedWithView:(TUIView *)view;
|
||||
|
||||
/**
|
||||
Note: returns YES ff view == reciever
|
||||
*/
|
||||
|
||||
+15
-1
@@ -723,7 +723,7 @@ else CGContextSetRGBFillColor(context, 1, 0, 0, 0.3); CGContextFillRect(context,
|
||||
} else {\
|
||||
[self.subviews insertObject:view atIndex:index];\
|
||||
}\
|
||||
[view removeFromSuperview]; /* will call willAdd:nil and didAdd (nil) */ \
|
||||
[view removeFromSuperview]; /* will call willAdd:nil and didAdd (nil) */ \
|
||||
[view willMoveToSuperview:self]; \
|
||||
view.nsView = _nsView;
|
||||
|
||||
@@ -835,6 +835,20 @@ else CGContextSetRGBFillColor(context, 1, 0, 0, 0.3); CGContextFillRect(context,
|
||||
|
||||
#define END_EACH_SUBVIEW }
|
||||
|
||||
- (TUIView *)ancestorSharedWithView:(TUIView *)view
|
||||
{
|
||||
TUIView *parentView = self;
|
||||
|
||||
do {
|
||||
if ([view isDescendantOfView:parentView])
|
||||
return parentView;
|
||||
|
||||
parentView = parentView.superview;
|
||||
} while (parentView);
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (BOOL)isDescendantOfView:(TUIView *)view
|
||||
{
|
||||
TUIView *v = self;
|
||||
|
||||
Reference in New Issue
Block a user