ios - 滑动手势滑动 UIViews
<p><p>我想做滑动手势来连续滑动 <code>UIView</code> 并从中获取数据。考虑每个 <code>UIView</code> 中的每个单词。我将数据存储在一个数组中,并在转换时打印在 <code>UIView</code> 的标签中。但是当我在显示所有数据程序停止工作后尝试滑动时。我的项目没有显示错误。请帮帮我。</p>
<p>这是我的数组:</p>
<pre><code>addArray = [initWithCapacity:4];
;
;
;
;
flippedArray = [ initWithCapacity:4];
;
;
;
;
</code></pre>
<p>这是我的手势识别编码:</p>
<pre><code>-(void)swipegesture:(UISwipeGestureRecognizer *)recognizer{
CGPoint location = ;
if (recognizer.direction==UISwipeGestureRecognizerDirectionLeft)
{
if (increment<)
{
NSLog(@"%d",);
increment++;
if(increment==)
{
NSLog(@"Fail");
//;
;
}
else
{
additionalLabel.text=[ initWithFormat:@"%@",
];
flippedLabel.text = [ initWithFormat:@"%@",
];
NSLog(@"increment %d",increment);
[UIView animateWithDuration:0.55 animations:^{
;
}];
CATransition *animation = ;
;
;
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionDefault]];
;
[ addAnimation:animation forKey:nil];
}
}
}
else if(recognizer.direction==UISwipeGestureRecognizerDirectionRight)
{
if (increment>=0 && increment<)
{
increment--;
if(increment>)
{
additionalLabel.text=[initWithFormat:@"%@",
];
flippedLabel.text=[initWithFormat:@"%@",
];
NSLog(@"Decrement %d",increment);
[UIView animateWithDuration:0.55 animations:^{
;
}];
CATransition *animation = ;
;
;
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionDefault]];
;
[ addAnimation:animation forKey:nil];
}
}
}
}
</code></pre>
<p>仅增量时存在问题。我将 <code>NSLog</code> 打印为失败。但是如果手势识别器达到 <code></code> 的值,我不知道如何停止它。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我建议在有效性检查之前增加或减少您的索引值(您将其命名为增量),如果它无效,则在 else 中反转您的操作。像这样:</p>
<pre><code>if (recognizer.direction==UISwipeGestureRecognizerDirectionLeft)
{
increment++;
if (increment<)
{
// Your code
}
else
{
increment--; // The increment would pass the range of the array, set it back.
}
}
</code></pre>
<p>另一个方向也是如此。</p>
<p>编辑:为了澄清,最初的问题是您检查以确保您的索引有效,但是,通过在检查后递增您最终使其无效。使用您的示例,当增量为 3(数组的最高索引)时,它实际上小于数组的计数,即 4。然后您将索引增加到 4,这将超出范围,或者在您的在这种情况下,进入该 if 语句(使用该建议将不再需要该语句)并记录您的 FAIL。</p></p>
<p style="font-size: 20px;">关于ios - 滑动手势滑动 UIViews,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/8808323/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/8808323/
</a>
</p>
页:
[1]