щелкните событие на uiimageview ios Xamarin C #

1

Как получить событие click UIImageView в Xamarin для iOS?

public UIImageView img_UploadImage { get; set;}

public ConstructorClasss(){
img_UploadImage = new UIImageView();
img_UploadImage.Frame = new RectangleF(100,100,60,50);
img_UploadImage.Image = UIImage.FileName ("UploadLocal.png");
}

Нужно ли использовать жестов tap для UIimageview или есть ли какое-либо событие click для UIImageView?

В Titanium есть событие click для UIImageView с помощью actionListner. Пожалуйста, дайте мне знать, есть ли какие-либо события click в Xamarin?

  • 0
    stackoverflow.com/q/3775577/3507404
  • 0
    Да, технически говоря, существует коллекция GestureRecognizers для всех классов UIView, в которую вы можете добавить поддержку получения. Нет никакого «клика», связанного с UIImageView.
Теги:
xamarin
uiimageview
uigesturerecognizer

2 ответа

8
Лучший ответ

Технически говоря, нет события Click для UIImageView в Xamarin.iOS, потому что в UIImageView в IOS SDK нет события Click для UIImageView. Xamarin сопоставляет концепции iOS SDK непосредственно с конструкциями С#, поэтому то, что вы видите на С#, - это то, что вы видите в Objective-C (по большей части). То, что вы видите в Titanium, - это их собственная абстракция, а функциональность добавляется в их конкретную структуру поверх и в дополнение к фактическому SDK для iOS.

Сказав это, жизнеспособный вариант для вас (поскольку похоже, что вы хотите использовать UIImageView в качестве кнопки, просто создайте кнопку, которая выглядит как изображение, а не наоборот. Что-то вроде этого должно работать.

public UIButton img_UploadImage { get; set; }

public ConstructorClass(){
     img_UploadImage = UIButton.FromType(UIButtonType.Custom);
     img_UploadImage.Frame = new RectangleF(100, 100, 60, 50);
     img_UploadImage.setImage(UIImage.FromFile("UploadLocal.png");

     //Set up event handler for "Click" event ("TouchUpInside in iOS terminology)
     img_UploadImage.TouchUpInside += (object sender, EventArgs e) => {
          //Do some action.
     };
}
  • 0
    Ой! Проголосовал без комментариев. слеза :-)
  • 0
    ! Ой, извините, сэр за отрицательное голосование ..... !!! Это моя ошибка
Показать ещё 1 комментарий
3

попробуйте это для меня

private void AddTapGesture()
{
    //  you can achieve this from user interface look image below
    YourImageView.UserInteractionEnabled = true;
    var tapGesture = new UITapGestureRecognizer(this,
        new ObjCRuntime.Selector("ImageTrigger:"))
    {
        NumberOfTapsRequired = 1 // change number as you want 
    };
    YourImageView.AddGestureRecognizer(tapGesture);
}

[Export("ImageTrigger:")]
public void ImageTrigger(UIGestureRecognizer sender)
{
    System.Diagnostics.Debug.WriteLine("Button Clicked");
}

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню