iOS UIView滑动切换效果

顶部滑动的导航切换,用UIView的动画效果搞定,挺丝滑。配合UILabel的点击事件,颜色、交互状态切换也都能顺手。适合做频道切换、选项卡那种需求,代码量不大,响应也快,效果还挺炫的。

你看这个动画部分,tapClick事件里直接通过UIView animateWithDuration来滑动底部线条:

- (void)tapClick:(UITapGestureRecognizer *)tap {
  [UIView animateWithDuration:0.3 animations:^{
    _lineView.frame = CGRectMake(tap.view.frame.origin.x, 47, tap.view.frame.size.width, 2);
  }];
  UILabel *label = (UILabel *)tap.view;
  label.textColor = FengColor;
  label.userInteractionEnabled = NO;
  _lastSeleLabel.userInteractionEnabled = YES;
  if (k==0 && tap.view.tag == 1000) {
    _lastSeleLabel.userInteractionEnabled = NO;
  } else {
    _lastSeleLabel.textColor = [UIColor blackColor];
  }
  _lastSeleLabel = label;
  k++;
}

蛮适合做滑动选项卡的交互,尤其你想要那种iOS 风格、跟手顺畅的 UI 体验时,这种写法比较稳。想加点渐变、翻页动画也好配,推荐你看看:

如果你项目里刚好有那种频道切换需求,建议试试这段,动效、交互、层级都清爽。

zip 文件大小:33.56KB