2014-09-04 3 views
0

click 이벤트를 Xamarin에서 iOS 용으로 UIImageView받는 방법은 무엇입니까? 이벤트를 클릭하여 uiimageview ios Xamarin C#

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위한 제스처 탭 사용해야 또는 click 이벤트가 UIImageView을 위해 존재합니까?

티타늄의 경우 UIImageView의 경우 actionListner의 경우 click 이벤트가 있습니다. Xamarin에 click 이벤트가 있습니까?

+0

http://stackoverflow.com/q/3775577/3507404 – Ingweland

+0

예, t 나를 위해 작업이 시도 기술적으로 getsture 지원을 추가 할 수있는 모든 UIView 클래스에는 GestureRecognizers 컬렉션이 있습니다. UIImageView와 연관된 "클릭"이 없습니다. – jensendp

답변

8

기술적으로 말하면 iam SDK의 UIImageView에 대한 Click 이벤트가 없으므로 Xamarin.iOS에서 UIImageView에 대한 Click 이벤트가 없습니다. Xamarin은 iOS SDK 개념을 C# 구조체에 직접 매핑하므로 C#에서 보는 내용은 Objective-C에서 볼 수 있습니다 (대부분). Titanium에서 볼 수있는 것은 실제 iOS SDK뿐만 아니라 자체 프레임 워크에 추가 된 자체 추상화 및 기능입니다.

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

아야! 코멘트없이 Downvoted. * 눈물 * :-) – jensendp

+0

! 죄송합니다 죄송합니다 ..... !!! 그것의 나의 실수 – kiran

+0

문제 없습니다. 그것은 나를 귀찮게하지 않는다. 내가 뭔가에 대해 틀렸다면 나는 궁금했다. 내가 틀린 대답을 제출하면 나는 시정하는 것을 좋아한다. 그것은 배우는 가장 좋은 방법입니다. – jensendp

2

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