iPhone / iPad вопрос, как показать диалог + как сделать скриншот экрана? - PullRequest
1 голос
/ 02 марта 2011

Мне нужно показать диалог в моем приложении для iPhone / iPad (вроде как на фотографиях, левая нижняя кнопка, которая открывает диалог с вариантами «Email Photo», «MMS», «Assign to Contact», «Use the Wallpaper», и т.д ...) - возможно ли это? Как называется этот элемент представления?

А вторые вопросы - несколько связаны. Одним из вариантов может быть «Email Current Screen», который должен сделать скриншот текущего экрана (очевидно, без этого диалога :-) и открыть по электронной почте, чтобы отправить электронное письмо. Подскажите пожалуйста, как мне сделать скриншот? Я заставляю это прикрепить к электронной почте? Спасибо!

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

На ваш первый вопрос: он называется листом действий и представлен классом UIActionSheet. На iPhone вы можете отобразить его в виде, используя метод -showInView:; на iPad его можно отобразить с помощью кнопки на панели инструментов с помощью метода -showFromBarButtonItem:animated: или из произвольного прямоугольника в представлении с помощью -showFromRect:inView:animated:. Обратите внимание, что, поскольку это два отдельных пути кода, вам нужно использовать макрос UI_USER_INTERFACE_IDIOM() (Google it), чтобы определить, на каком типе устройства работает ваш код.

0 голосов
/ 11 июня 2011

Вот ответ, в 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;
    }
}
0 голосов
/ 02 марта 2011
...