0
Я не могу понять, почему мой UIMenuController не появляется на мой взгляд. Когда я долгое время нажимаю кнопку, я вижу, что все инструкции выполнены, но меню не отображается.Почему мой UIMenuController не показан на мой взгляд?
public class MySingleArticleView : UIView
{
private MyArticleViewController _controller; // MyArticleViewController extends BaseViewController
public MySingleArticleView (MyArticleViewController controller, ...)
{
_controller = controller;
// ... init code
}
void ArticleLongPressed (UILongPressGestureRecognizer gestureRecognizer)
{
var menuController = UIMenuController.SharedMenuController;
var copyMenuItem = new UIMenuItem ("copy", new Selector ("CopyRow"));
var pasteMenuItem = new UIMenuItem ("paste", new Selector ("PasteRow"));
var location = gestureRecognizer.LocationInView (_controller.View);
_controller.BecomeFirstResponder();
menuController.MenuItems = new [] { copyMenuItem, pasteMenuItem };
menuController.SetTargetRect (new CGRect (location.X, location.Y, 0, 0), _controller.View);
menuController.SetMenuVisible (true, true);
}
[Export("CopyRow")]
void Row (UIMenuController controller)
{
// do something
}
[Export("PasteRow")]
void PasteRow (UIMenuController controller)
{
// do something
}
}
Что я забыл?
Да, я знаю это, но даже указав другие значения, контроллер меню по-прежнему не отображается. Однако после примера на веб-сайте Xamarin было установлено 0 0: http://developer.xamarin.com/api/type/UIKit.UIMenuController/ –
@ D.Morresi Вы нашли решение? Я борюсь с той же проблемой ... – Mariusz
@ Mariusz да, похоже, что мне не понравилось, как я описал команду и функции экспорта ... Я изменил ее в: '[Export (" PasteRow: ")] void PasteRow (UIMenuController) {} 'и' [Export ("CopyRow:")] void CopyRow (UIMenuController) {} '. Затем я изменил часть выше: «var copyMenuItem = новый UIMenuItem (« copy », новый Selector (« CopyRow: »));' var pasteMenuItem = новый UIMenuItem («вставить», новый селектор («PasteRow:»)); ' –