2012-02-23 3 views
2

서브 클래스가 UIView입니다. 터치 이벤트가 감지 될 때마다 새로운 UI-View를 표시해야합니다.UIView 하위 클래스

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 

내 문제는 내가 전체 화면보기를 표시하는 방법을 모르는 것입니다 :

나는 나는 다음과 같은 메소드를 오버라이드 (override) 할 필요가 있음을 알고있다.

나는 다음과 같은 시도 :

CGRect screenSize = [[UIScreen mainScreen] bounds]; 
UIView *mysubview = [[UIView alloc] initWithFrame : screenSize]; 
[self.window addSubview:mysubview]; 

그러나 그것을 할 수있는 올바른 방법이 있는지 확실하지 않습니다.

누구든지 내게 조언을 해줄 수 있습니까?

답변

0

그런 경우 나는 mySubView.frame = self.view.frame을 사용합니다.

0

보기를 창에 추가하는 대신보기의 하위보기로 추가하여 가로 채기 만하는 것이 어떻습니까?

UIView *mySubview = [[UIView alloc] initWithFrame:self.bounds]; 
[self addSubview:mySubview]; 

설명 후에는 사용자 지정보기 버튼의 일종임을 나타납니다, 당신은 새로운 뷰 계층 구조의 다른 곳에서 전체 화면보기가되고 싶어요. 이것은 실제로 새 뷰를 배치 할 위치를 알고있는 UIViewController의 작업입니다. 자신의 터치 처리 코드를 구현하는 대신 사용자 정의보기에서 UITapGestureRecognizer을 사용할 수 있습니다 (전체 화면보기를 대상으로 UIViewController). 그런 다음 제스처 인식기 동작 메서드에서 새 뷰를 만들고 UIViewController 계층 구조의 하위 뷰로 추가 할 수 있습니다.

+0

터치 이벤트를 듣고있는보기가 전체 화면보기가 아니기 때문에 높이가 100px이고 화면 하단에 위치하기 때문에 –

관련 문제