2011-03-02 39 views
1

我需要在我的iPhone/iPad應用程序中顯示對話框(類似於照片,左下角按鈕,可打開帶有「電子郵件照片」,「彩信」,「指定給聯繫人」,「使用壁紙」等選項的對話框。 ...) - 可能嗎?如何調用這個視圖元素?iPhone/iPad問題如何顯示對話框+如何製作屏幕截圖?

第二個問題 - 有點相關。其中一個選項是「電子郵件當前屏幕」,它需要製作當前屏幕的屏幕截圖(顯然沒有這個對話框:-)並在電子郵件中打開以發送電子郵件。請建議我如何製作截圖?我強迫它附加到電子郵件?謝謝!

回答

2

對於第一個問題:它被稱爲操作表,並由UIActionSheet類表示。在iPhone上,您可以使用-showInView:方法在視圖中顯示它;在iPad上,您可以使用-showFromBarButtonItem:animated:方法從工具欄按鈕或-showFromRect:inView:animated:的視圖中的任意矩形顯示它。請注意,由於這些是兩個獨立的代碼路徑,因此您需要使用UI_USER_INTERFACE_IDIOM()宏(Google it)來確定您的代碼運行在哪種設備上。

0

這裏的答案,在MonoTouch的(.NET):

public class ScreenShot 
{ 
    public static UIImage TakeScreenShot (UIView view) 
    { 
     RectangleF canvasRect = view.Bounds; 
     UIGraphics.BeginImageContext (canvasRect.Size); 

     CGContext ctx = UIGraphics.GetCurrentContext(); 
     ctx.FillRect (canvasRect); 
     view.Layer.RenderInContext (ctx); 

     UIImage newImage = UIGraphics.GetImageFromCurrentImageContext(); 

     UIGraphics.EndImageContext(); 

     return newImage; 
    } 
}