반응형
하위보기가보기에 있는지 확인
내가 사용하여 뷰에 하위 뷰를 추가 응용 프로그램 만들고있어 addSubview:
온을 IBAction
. 같은 방식으로 버튼 IBAction
이 다시 터치되면 removeFromSuperview
해당 하위 뷰를 호출해야 합니다 IBAction
.
PSEUDO 코드
-(IBAction)showPopup:(id)sender
{
System_monitorAppDelegate *delegate = (System_monitorAppDelegate *)[[UIApplication sharedApplication] delegate];
UIView *rootView = delegate.window.rootViewController.view;
if([self popoverView] is not on rootView)
{
[rootView addSubview:[self popoverView]];
}
else
{
[[self popoverView] removeFromSuperview];
}
}
아마도 UIView 클래스 참조 에서 -(BOOL)isDescendantOfView:(UIView *)view;
가져온 UIView를 찾고있을 것입니다 .
반환 값 수신자가 뷰의 즉각적이거나 먼 하위 뷰이거나 뷰가 수신자 자체 인 경우 YES; 그렇지 않으면 아니오.
다음과 같은 코드가 생성됩니다.
목표 -C
- (IBAction)showPopup:(id)sender {
if(![self.myView isDescendantOfView:self.view]) {
[self.view addSubview:self.myView];
} else {
[self.myView removeFromSuperview];
}
}
스위프트 3
@IBAction func showPopup(sender: AnyObject) {
if !self.myView.isDescendant(of: self.view) {
self.view.addSubview(self.myView)
} else {
self.myView.removeFromSuperview()
}
}
이 시도:
-(IBAction)showPopup:(id)sender
{
if (!myView.superview)
[self.view addSubview:myView];
else
[myView removeFromSuperview];
}
UIView *subview = ...;
if([self.view.subviews containsObject:subview]) {
...
}
Swift에 해당하는 것은 다음과 같습니다.
if(!myView.isDescendantOfView(self.view)) {
self.view.addSubview(myView)
} else {
myView.removeFromSuperview()
}
서브 뷰의 수퍼 뷰를 확인하십시오 ...
-(IBAction)showPopup:(id)sender {
if([[self myView] superview] == self.view) {
[[self myView] removeFromSuperview];
} else {
[self.view addSubview:[self myView]];
}
}
당신의 if 조건은
if (!([rootView subviews] containsObject:[self popoverView])) {
[rootView addSubview:[self popoverView]];
} else {
[[self popoverView] removeFromSuperview];
}
참고 URL : https://stackoverflow.com/questions/7421298/check-if-a-subview-is-in-a-view
반응형
'developer tip' 카테고리의 다른 글
두 CGRect 비교 (0) | 2020.08.29 |
---|---|
Mac 키보드를 사용하여 iPhone 시뮬레이터에서 텍스트 필드를 입력 할 수 없습니까? (0) | 2020.08.29 |
Android에서 프로그래밍 방식으로 ImageView의 이미지 변경 (0) | 2020.08.29 |
Android 스튜디오-android-18 대상을 찾지 못했습니다. (0) | 2020.08.28 |
$ this 변수는 PHP에서 무엇을 의미합니까? (0) | 2020.08.28 |