顶部滑动菜单FDSlideBar

移动开发
FDSlideBar是一个顶部滑动菜单,如常见的网易、腾讯新闻等样式。该控件支持自定颜色、字体等多种样式风格。

源码简介:FDSlideBar是一个顶部滑动菜单,如常见的网易、腾讯新闻等样式。该控件支持自定颜色、字体等多种样式风格。菜单间切换流畅,具有较好的体验性。下部的内容展示经过挣扎,***选择了UITableView实现,从而很好地解决了ScrollView的内存问题,也获得了很好地原生滑动效果。

测试环境:Xcode 6.2,iOS 6.0以上

源码截图:

[[140891]]

源码片段:

  1. FDSlideBar *sliderBar = [[FDSlideBar alloc] init]; 
  2.     sliderBar.backgroundColor = [UIColor colorWithRed:0 / 255.0 green:128 / 255.0 blue:128 / 255.0 alpha:1.0]; 
  3.  
  4.     // Init the titles of all the item 
  5.     sliderBar.itemsTitle = @[@"要闻", @"视频", @"上海", @"娱乐", @"体育NBA", @"财经", @"科技", @"社会", @"军事", @"时尚", @"汽车", @"游戏", @"图片", @"股票"]; 
  6.  
  7.     // Set some style to the slideBar 
  8.     sliderBar.itemColor = [UIColor whiteColor]; 
  9.     sliderBar.itemSelectedColor = [UIColor orangeColor]; 
  10.     sliderBar.sliderColor = [UIColor orangeColor]; 
  11.  
  12.     // Add the callback with the action that any item be selected 
  13.     [sliderBar slideBarItemSelectedCallback:^(NSUInteger idx) { 
  14.         [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO]; 
  15.     }]; 
  16.     [self.view addSubview:sliderBar]; 
  17.     _slideBar = sliderBar; 
  1. // The frame of tableView, be care the width and height property 
  2.    CGRect frame = CGRectMake(00, CGRectGetMaxY(self.view.frame) - CGRectGetMaxY(self.slideBar.frame), CGRectGetWidth(self.view.frame)); 
  3.    self.tableView = [[UITableView alloc] initWithFrame:frame]; 
  4.    [self.view addSubview:self.tableView]; 
  5.  
  6.    // Register the custom cell 
  7.    UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil]; 
  8.    [self.tableView registerNib:nib forCellReuseIdentifier:@"ContentCell"]; 
  9.  
  10.    // Set the tableView center in the bottom of view. so after rotating, it shows rightly 
  11.    self.tableView.center = CGPointMake(CGRectGetWidth(self.view.frame) * 0.5, CGRectGetHeight(self.view.frame) * 0.5 + CGRectGetMaxY(self.slideBar.frame) * 0.5); 
  12.    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
  13.  
  14.    // Rotate the tableView 90 angle anticlockwise 
  15.    self.tableView.transform = CGAffineTransformMakeRotation(-M_PI_2); 
  16.    self.tableView.showsVerticalScrollIndicator = NO; 
  17.    self.tableView.pagingEnabled = YES; 
  18.    self.tableView.dataSource = self; 
  19.    self.tableView.delegate = self; 
  1.  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
  2.     TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"ContentCell"]; 
  3.  
  4.     // Rotate the cell's content 90 angle clockwise to show them rightly 
  5.     cell.contentView.transform = CGAffineTransformMakeRotation(M_PI_2); 
  6.     cell.text = self.slideBar.itemsTitle[indexPath.row]; 
  7.     return cell; 

下载地址:http://down.51cto.com/data/2068577

责任编辑:倪明
相关推荐

2011-09-06 14:36:34

触摸菜单ipad应用电子点菜

2009-07-15 13:31:51

Swing菜单和菜单项

2014-12-30 11:55:21

android开源

2014-12-31 14:52:27

SwipeMenuLiSwipeMenu

2015-09-22 10:49:40

Android滑动渐变

2021-11-03 17:10:37

CSS sticky前端代码

2014-04-15 10:34:38

Ubuntu 14.0

2015-07-20 15:14:19

侧滑菜单功能多样

2024-07-01 08:19:56

2021-12-06 15:10:01

鸿蒙HarmonyOS应用

2015-10-20 15:54:16

android源码滑动关闭

2012-06-07 09:25:31

Visual Stud

2021-07-21 05:31:39

Windows 11操作系统微软

2010-01-27 10:21:00

Android菜单

2015-02-26 18:18:15

动画菜单Animation c

2015-10-08 16:51:56

旋转菜单动画

2010-09-03 10:58:45

DIVCSS

2015-02-12 15:33:43

微信SDK

2013-06-20 10:50:51

Objective-CiOS左右滑动手势

2015-02-12 15:38:26

微信SDK
点赞
收藏

51CTO技术栈公众号