Можно ли найти местоположение UIBarButtonItem при нажатии в Monotouch?

В моем приложении MonoTouch, когда пользователь нажимает UIBarButtonItem в NavigationBar, я пытаюсь отобразить небольшой UIMenuController относительно того места, где пользователь коснулся экрана.

Я смог сделать это ранее в Objective C со следующим кодом:

UIBarButtonItem* logoutBtn = [[UIBarButtonItem alloc] initWithTitle:@"Logout"
   style:UIBarButtonItemStyleBordered target:self 
   action:@selector(displayLogoutMenu:event:)];

Здесь я могу получить координаты пресса из UIEvent, который передается в мой метод.

Но есть небольшие различия в том, как MonoTouch пытается справиться с этим.

UIBarButtonItem logoutButton = new UIBarButtonItem("Logout",UIBarButtonItemStyle.Bordered,
   delegate(object sender, EventArgs e) {DisplayLogoutMenu(sender,e);});

Здесь мне нужно пройти в EventArgs. До сих пор мне не удалось получить координаты (или что-то действительно полезное) из EventArgs.

Можно ли в любом случае получить какую-либо полезную информацию из EventArgs, или есть ли другой способ настроить мой делегат UIBarButtonItem, чтобы он мог передавать UIEvent?


person cain    schedule 19.12.2012    source источник


Ответы (1)


Вы можете передать селектор вместо делегата:

UIBarButtonItem barButton = new UIBarButtonItem ("Logout", UIBarButtonItemStyle.Bordered, this, new Selector ("displayLogoutMenu:event:"));

[Export ("displayLogoutMenu:event:")]
void DisplayLogoutMenu (UIBarButtonItem barButton, UIEvent evt)
{
}
person Alexey Globchastyy    schedule 20.12.2012