2010-08-21 74 views
0

我試圖在scrollview內觸摸屏幕時顯示ActionSheet。動作表在第一頁內彈出。但在隨後的頁面中,屏幕變暗並且不顯示任何內容,就好像實際的按鈕在屏幕上顯示一樣。我已經測試了UIActionSheet的不同幀定位,但它似乎不起作用。ScrollView中的UIActionSheet定位問題

self.view.frame.origin.x似乎有正確的ScrollView位置。

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
            initWithTitle:nil 
            delegate:self 
            cancelButtonTitle:@"Cancel" 
            destructiveButtonTitle:nil 
            otherButtonTitles:@"Jump to First Page", @"Browse Pages",nil]; 

CGRect frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, 480.0f, 320.0f); 
[actionSheet setFrame:frame]; 
[actionSheet showInView:self.view]; 

回答

-1

您滾動視圖,這是行不通的裏面顯示出來,因爲你是對的,它顯示關閉屏幕。你不應該在scrollview中顯示它,相反,將Scrollview放在另一個視圖中,並在該視圖內顯示ActionSheet。

+0

謝謝我最終使用* UIWindow作爲ScrollView的根控制器的根視圖是UIWindow ...現在,我的應用程序處於橫向模式。我所有的ScrollView都以橫向模式顯示(我做了ShouldAutoRotate ...&Transformation),但是UIActionSheet以縱向顯示...任何想法?提前致謝! – anthony 2010-08-23 04:45:04

1

假設您的UIScrollView包含在viewUIViewController中。

然後,您應該在視圖控制器的根視圖中顯示UIActionSheet

+0

謝謝我最終使用* UIWindow作爲ScrollView的根控制器的根視圖是UIWindow ...現在,我的應用程序處於橫向模式。我所有的ScrollView都以橫向模式顯示(我做了ShouldAutoRotate ...&Transformation),但是UIActionSheet以縱向顯示...任何想法?提前致謝! – anthony 2010-08-23 04:44:28

+0

這是因爲'UIWindow'不旋轉。只有'UIViewControllers'。 (其中「旋轉」實際上是應用變換來改變座標系) – 2010-08-23 13:29:47