我是XCODE的新手 - Objective-C,在我的第一个应用中,我需要添加3个不同的标签2个滑动手势(向上和向下滑动)。
为了更清楚(现在我无法添加图像)我有3个这样的标签:
[label1].[label2][label3]
所有标签的最小值为' 0' label1的最大值为' 2&#39 ;,对于label2,label3为' 9'每一个。
当我向下滑动标签时,我需要降低值,当我向上滑动时,我需要降低值。
我该怎么做?在我做之前我做的一个例子,但只适用于单个UILabel。
提前多多感谢。 问候。
答案 0 :(得分:0)
您需要初始化3次滑动,每次滑动都会标记滑动。我建议使用标签来区分标签。
以下是以编程方式创建标签的代码:
UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
label1.text = @"Label 1";
label1.tag = 10;
label1.userInteractionEnabled = YES;
UISwipeGestureRecognizer *swipe1 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeLabel:)];
[label1 addGestureRecognizer:swipe1];
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(50, 150, 100, 100)];
label2.text = @"Label 2";
label2.tag = 20;
label2.userInteractionEnabled = YES;
UISwipeGestureRecognizer *swipe2 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeLabel:)];
[label2 addGestureRecognizer:swipe2];
UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(50, 250, 100, 100)];
label3.text = @"Label 3";
label3.tag = 30;
label3.userInteractionEnabled = YES;
UISwipeGestureRecognizer *swipe3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipeLabel:)];
[label3 addGestureRecognizer:swipe3];
[self.view addSubview:label1];
[self.view addSubview:label2];
[self.view addSubview:label3];
滑动方法:
- (void)didSwipeLabel:(id)sender
{
// Parse the swipe gesture
UISwipeGestureRecognizer *swipe = sender;
// Get the view that called swipe
UILabel *swipedLabel = (UILabel *)swipe.view;
// Switch tag
switch (swipedLabel.tag) {
case 10:
NSLog(@"Swiped label 1");
break;
case 20:
NSLog(@"Swiped label 2");
break;
case 30:
NSLog(@"Swiped label 3");
break;
default:
break;
}
}
如果您更喜欢使用Interface Builder,则可以在“Attributes Inspector”选项卡中完成设置视图的标记:
不要忘记将userInteractionEnabled
设置为YES
。我离开了逻辑和方向验证。