2012-02-23 373 views
2

我有一個UIView的子類。每當我檢測到觸摸事件時,我都需要顯示一個新的UI-View。UIView子類,觸摸事件

我知道,我必須覆蓋下面的方法:

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

我的問題是,我不知道如何來顯示全屏視圖。

我曾嘗試以下:

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的高度,並且位於屏幕的底部 – 2012-02-23 10:09:02