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

Мне нужно показать диалоговое окно в моем приложении для iPhone / iPad (вроде как в фотографиях, левая нижняя кнопка, которая открывает диалоговое окно с вариантами «Отправить фото по электронной почте», «MMS», «Назначить контакту», «Использовать обои» и т. Д. .) -- Является ли это возможным? Как называется этот элемент представления?

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


person alexeypro    schedule 02.03.2011    source источник


Ответы (3)


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

person Noah Witherspoon    schedule 02.03.2011

вот вопрос, который касается снятия снимка экрана

Как сделать снимок экрана текущего вида и повторно использовать в коде? (iPhone SDK)

person Vaibhav Tekam    schedule 02.03.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;
    }
}
person Ian Vink    schedule 11.06.2011