Можно ли найти местоположение 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?
1 ответ
Вы можете передать селектор вместо делегата:
UIBarButtonItem barButton = new UIBarButtonItem ("Logout", UIBarButtonItemStyle.Bordered, this, new Selector ("displayLogoutMenu:event:"));
[Export ("displayLogoutMenu:event:")]
void DisplayLogoutMenu (UIBarButtonItem barButton, UIEvent evt)
{
}