[英]Attach UISwipeGestureRecognizer to Multiple Views
我有一個帶有普通視圖的視圖控制器。 在該視圖中,我有4個子視圖。 我需要每個人對UISwipeGestureRecognizer
做出反應。 我迷上了意見,以UISwipeGestureRecognizer
在Interface Builder和迷上UISwipeGestureRecognizer
到IBAction
。 一切都很好。 他們都對UISwipeGestureRecognizer
做出反應。
但是,我需要采取行動來做一些不同的事情,具體取決於稱為IBAction
視圖。 我該怎么辦? 這是IBAction
代碼:
- (IBAction)swipe:(UISwipeGestureRecognizer *)sender
{
switch (view)
{
case view1:
//do something
break;
case view2:
//do something
break;
case view3:
//do something
break;
default:
//do something
break;
}
}
我該如何處理?
我將為每個視圖分配一個標簽。 這樣,您仍然可以使用switch語句將它們區分開,而不必保留對每個視圖的引用。 例如:
- (IBAction)tapSignature:(UISwipeGestureRecognizer *)sender
{
NSLog(@"swiped");
switch (sender.view.tag)
{
case 1:
NSLog(@"1");
break;
case 2:
NSLog(@"2");
break;
case 3:
NSLog(@"3");
break;
default:
NSLog(@"4");
break;
}
}
- (IBAction)swipe:(UISwipeGestureRecognizer *)sender
{
if (sender.view == view1) {
//do something
}
if (sender.view == view2) {
//do something
}
if (sender.view == view3) {
//do something
}
}
不要使簡單復雜化。 此外,如果要與另一個筆尖重用同一控制器,則使用標簽將迫使您在另一個筆尖中定義相同的標簽,這是不好的設計。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.