代码之家  ›  专栏  ›  技术社区  ›  kiran

单击uiimageview ios Xamarin C上的事件#

  •  1
  • kiran  · 技术社区  · 10 年前

    如何获得 click 事件 UIImageView 在Xamarin for 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");
    }
    

    我需要使用手势轻敲吗 UIimageview 或者有 点击 的事件 UI图像视图 ?

    在钛合金中 点击 的事件 UI图像视图 具有 actionListner . 请告诉我有没有 点击 在Xamarin举办的活动?

    2 回复  |  直到 9 年前
        1
  •  8
  •   jensendp    10 年前

    从技术上讲,Xamarin.iOS中的UIImageView没有Click事件,因为iOS SDK中的UIImage View没有Click事件。Xamarin将iOS SDK概念直接映射到C#结构,因此您在C#中看到的就是在Objective-C中看到的(大部分)。您在Titanium中看到的是,他们自己的抽象和功能被添加到他们的特定框架中,并添加到实际的iOS SDK之上。

    话虽如此,但对您来说,一个可行的选择(因为看起来您希望将UIImageView用作按钮)是简单地创建一个看起来像Image的按钮,而不是相反。这样的操作应该有效。

    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.
         };
    }
    
        2
  •  4
  •   DavidG    7 年前

    试试这个对我有用

    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");
    }
    

    enter image description here