Как получить событие 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?
Технически говоря, нет события 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.
};
}
попробуйте это для меня
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");
}