Как получить пользовательские координаты кнопок из события button?

#xamarin.ios

#xamarin.ios

Вопрос:

У меня есть метод, который создает кнопки по моим координатам.

 private void DrawButtonsOnGraphics (List<Tuple<float, float>> listOfData, UIColor colorOfGraph, float radius)
        {
            foreach (var item in listOfData) {
                UIButton button = new UIButton (UIButtonType.Custom);
                button.BackgroundColor = UIColor.Black;
                button.Frame = new RectangleF (item.Item1 - radius / 2, item.Item2 - radius / 2, radius, radius);
                button.TouchUpInside  = GraphicButtonClick;
                AddSubview (button);
            }
        }   
  

И у меня есть событие, которое обработало мой клик.

 void GraphicButtonClick (object sender, EventArgs e)
        {           
            if (_cliked != true) {
                view = new UIView(new RectangleF(item.Item1 - 23,item.Item2 - 25,45,23));
                labelText = new UILabel( new RectangleF(10,10,30,20));
                labelText.Text = ((225-item.Item2)/2).ToString();
                labelText.TextColor = UIColor.White;
                labelText.TextAlignment = UITextAlignment.Center;
                view.AddSubview(labelText);
                view.BackgroundColor = UIColor.Black;
                AddSubview(view);
            }
            else {
                view.RemoveFromSuperview();
            }
        }
  

Мне нужно создать верхний раздел из моей кнопки. В wpf я могу получить это из EventArgs. Как я могу это сделать в iOS, xamarin? Thnanks

Ответ №1:

приведите отправителя к UIButton, затем используйте его свойство Frame для получения координат

 UIButton btn = ((UIButton)sender);
double x = btn.Frame.X;
couble y = btn.Frame.Y;