iOS 实现一个简单的标签式顶部导航View,仿头条网易等样式

直接上可实现的需求:

1.多种属性可编辑
2.标签按钮可回调控制页面
3.页面切换可控制对应标签变化

摘要说明

多种属性可动态设置

/**
 *  标签文字颜色_未选中时
 */
@property (nonatomic, strong) UIColor * tagTextColor_normal;
/**
 *  标签文字颜色_选中时
 */
@property (nonatomic, strong) UIColor * tagTextColor_selected;
/**
 *  标签文字颜色_未选中时
 */
@property (nonatomic, assign)CGFloat tagTextFont_normal;
/**
 *  标签文字颜色_选中时
 */
@property (nonatomic, assign)CGFloat tagTextFont_selected;
/**
 *  滑块颜色
 */
@property (nonatomic, strong)UIColor *sliderColor;
/**
 *  滑块宽度
 */
@property (nonatomic, assign)CGFloat sliderW;
/**
 *  滑块高度
 */
@property (nonatomic, assign)CGFloat sliderH;

通过此代理方法可获取标签点击事件和第几个

@protocol RPTaggedNavViewDelegate <NSObject>

- (void)haveSelectedIndex:(NSInteger )index;

@end

此方法为通知view应该让哪个标签被点亮

- (void)selectingOneTagWithIndex:(NSInteger )index;
演示gif

gif_RPTaggedNavView.gif

github 地址: https://github.com/RollingPin/RPTaggedNavView

搞定. 欢迎大家指正

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS中,要实现仿今日头条滑块滑动效果,可以借助UIKit框架中的UIScrollView以及UICollectionView实现。 首先,在界面中添加一个UIScrollView,设置其frame为所需大小,并将其contentSize设置为所有滑块所占的总宽度。如果滑块数目较多,可以使用UICollectionView来更方便地布局和管理滑块。 接下来,可以使用UIPageControl来显示当前滑块的页数,通过与UIScrollView的滑动距离进行关联,使UIPageControl随着滑块的滑动而改变页数。可以通过UIScrollViewDelegate的方法scrollViewDidScroll来实现这一功能,根据当前的contentOffset来计算并更新UIPageControl的当前页数。 另外,要实现滑块的点击切换功能,可以使用UITapGestureRecognizer来监听滑块的点击事件。当检测到点击时,通过计算点击点的位置来判断点击的是哪个滑块,并使用UIScrollView的方法scrollRectToVisible来将该滑块滑动到可见区域。 为了增强滑块的滑动体验,可以结合UIView动画来实现平滑滑动的效果。使用UIView的方法animateWithDuration:animations:completion:来执行滑块的滑动动画,通过改变UIScrollView的contentOffset来实现滑块的平滑滑动。 此外,还可以添加一些其他效果来增强用户体验,例如滑块滑动到边缘时的弹性效果、滑块的缩放效果等。 总而言之,要实现iOS仿今日头条滑块滑动效果,需要借助UIScrollView或UICollectionView来布局和管理滑块,结合UIPageControl、UITapGestureRecognizer和UIView动画来实现滑块的滑动、点击和平滑滑动效果,并可以添加一些其他效果来增强用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值