A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 15223245 中级黑马   /  2016-1-13 09:07  /  3937 人查看  /  25 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. <div class="blockcode"><blockquote>//
  2. //  TableController.m
  3. //  hedaAssistant
  4. //
  5. //  Created by bear on 15/11/28.
  6. //  Copyright © 2015年 bear. All rights reserved.
  7. //

  8. #import "TableController.h"
  9. #import "TableCellController.h"
  10. #import "UINavigationItem+custom.h"


  11. //获取屏幕 宽度、高度
  12. #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
  13. #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)


  14. //NavBar高度
  15. #define NavigationBar_HEIGHT 44
  16. #define StatusBar_HEIGHT 20
  17. #define TabBar_HEIGHT 49

  18. @interface TableController (){
  19.     UIScrollView *tableScrowView;
  20.     CGFloat  dayWidth;
  21.     CGFloat  sectionHeight;

  22. }@end

  23. @implementation TableController
  24. -(void)viewDidLoad{


  25.     [self setUI];

  26. }



  27. -(void)setUI{


  28.     //设置  导航栏的背景
  29.     [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"tabbar_background.png"] forBarMetrics:UIBarMetricsDefault];

  30.     //设置自己的标题x
  31.     [self.navigationItem setMyTitle:@"考试安排表"];






  32.     //添加整体背景

  33.     UIImage *bgImg=[UIImage imageNamed:@"main.png"];
  34.     UIImageView *mainBgView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-(StatusBar_HEIGHT+NavigationBar_HEIGHT+TabBar_HEIGHT))];
  35.     mainBgView.image=bgImg;
  36.     [self.view addSubview:mainBgView];

  37.     //添加顶部星期背景
  38.     UIView *headBg=[[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 30)];
  39.     [headBg setAlpha:0.7f];
  40.     headBg.backgroundColor=[UIColor orangeColor];
  41.     [self.view addSubview:headBg];


  42.     //定义基本宽高
  43.       dayWidth=(CGFloat) (SCREEN_WIDTH-30)/5;
  44.       sectionHeight=(CGFloat)(SCREEN_HEIGHT-(StatusBar_HEIGHT+NavigationBar_HEIGHT+TabBar_HEIGHT)-30)/8;
  45.    
  46.    
  47. #pragma mark    添加ScrowView能左右滚动
  48.     tableScrowView=[[UIScrollView alloc]init];
  49.     tableScrowView.frame=CGRectMake(0, 0, SCREEN_WIDTH,sectionHeight*8+35);
  50.     tableScrowView.contentSize =  CGSizeMake(dayWidth*7+30, 0);
  51.     tableScrowView.bounces=NO;
  52.     [self.view addSubview:tableScrowView];
  53.    

  54. #pragma mark  添加星期头部

  55.     int i;
  56.     NSString *weektitle[]={@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六",@"星期日"};
  57.     for(i =0; i<7;i++)
  58.     {
  59.         UIButton *buttonview = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  60.         //为button显示赋值

  61.         [buttonview setTitle:weektitle[i] forState:UIControlStateNormal];
  62.         [buttonview setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  63.         //设置button的大小
  64.         buttonview.frame = CGRectMake(30+i*dayWidth, 0, dayWidth, 30);
  65.         [tableScrowView addSubview:buttonview];




  66.     }


  67. #pragma mark   添加左边节数 标示
  68.     UIView *sectionView=[[UIView alloc]initWithFrame:CGRectMake(0, 30, 30, sectionHeight*8)];
  69.     [self.view addSubview:sectionView];
  70.     for(i =0; i<8;i++)
  71.     {
  72.         //新建一个button对象 button还有一些别的属性比如背景色
  73.         NSString *title=[NSString stringWithFormat:@"%d",i+1];
  74.         UIButton *buttonview = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  75.         //为button显示赋值
  76.         buttonview.backgroundColor=[UIColor lightGrayColor];
  77.         if (i%2) {
  78.             [buttonview setAlpha:0.5f];
  79.         }else{
  80.             [buttonview setAlpha:0.7f];
  81.         }

  82.         [buttonview setTitle:title forState:UIControlStateNormal];
  83.         [buttonview setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  84.         //设置button的大小
  85.         buttonview.frame = CGRectMake(0, i*sectionHeight, 30, sectionHeight);
  86.         [sectionView addSubview:buttonview];

  87.         
  88.     }



  89. #pragma mark 加号分割点添加
  90.     int j;
  91.     for (i=0; i<8; i++) {
  92.         for (j=0; j<7; j++) {
  93.             UILabel *lable=[[UILabel alloc]init];
  94.             [lable setText:@"+"];
  95.             [lable setTextColor:[UIColor lightGrayColor]];
  96.                         lable.frame=CGRectMake(30+dayWidth*i, 30+sectionHeight*j, 10, 10);
  97.                   lable.center=CGPointMake(30+dayWidth*i, sectionHeight*(j+1.5));
  98.             [tableScrowView addSubview:lable];
  99.         }
  100.     }








  101. //添加Lesson   
  102.     [self addLesson];

  103. }




  104. #pragma mark   画课表按钮 每节课按照数组画出来
  105. -(void)addLesson{
  106.    
  107.    
  108.     // 以下为测试数据
  109.     UIButton *lessonBUtton=[[UIButton alloc]initWithFrame:CGRectMake(30, 30, dayWidth, sectionHeight*2)];
  110.     [lessonBUtton setTitle:@"ios程序设计" forState:UIControlStateNormal];
  111.     lessonBUtton.titleLabel.numberOfLines=0;
  112.     [lessonBUtton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  113.     [lessonBUtton setBackgroundColor:[UIColor redColor]];
  114.     [lessonBUtton.layer setCornerRadius:8.0];
  115.     [lessonBUtton setAlpha:0.7f];
  116.     [lessonBUtton addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  117.     [tableScrowView addSubview:lessonBUtton];
  118.    

  119.    
  120.     UIButton *lessonBUtton1=[[UIButton alloc]initWithFrame:CGRectMake(30, 30+sectionHeight*4, dayWidth, sectionHeight*2)];
  121.     [lessonBUtton1 setTitle:@"专业英语" forState:UIControlStateNormal];
  122.     lessonBUtton1.titleLabel.numberOfLines=0;
  123.     [lessonBUtton1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  124.     [lessonBUtton1 setBackgroundColor:[UIColor purpleColor]];
  125.     [lessonBUtton1.layer setCornerRadius:8.0];
  126.     [lessonBUtton1 setAlpha:0.7f];
  127.     [lessonBUtton1 addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  128.     [tableScrowView addSubview:lessonBUtton1];
  129.    
  130.    
  131.     UIButton *lessonBUtton12=[[UIButton alloc]initWithFrame:CGRectMake(30+dayWidth*2, 30+sectionHeight*3, dayWidth, sectionHeight*2)];
  132.     [lessonBUtton12 setTitle:@"概率论" forState:UIControlStateNormal];
  133.     lessonBUtton12.titleLabel.numberOfLines=0;
  134.     [lessonBUtton12 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  135.     [lessonBUtton12 setBackgroundColor:[UIColor blueColor]];
  136.     [lessonBUtton12.layer setCornerRadius:8.0];
  137.     [lessonBUtton12 setAlpha:0.7f];
  138.     [lessonBUtton12 addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  139.     [tableScrowView addSubview:lessonBUtton12];
  140.    
  141.    
  142.     UIButton *lessonBUtton135=[[UIButton alloc]initWithFrame:CGRectMake(30+dayWidth*4, 30+sectionHeight*0, dayWidth, sectionHeight*3)];
  143.     [lessonBUtton135 setTitle:@"疯玩,疯睡。哈哈哈" forState:UIControlStateNormal];
  144.     lessonBUtton135.titleLabel.numberOfLines=0;
  145.     [lessonBUtton135 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  146.     [lessonBUtton135 setBackgroundColor:[UIColor brownColor]];
  147.     [lessonBUtton135.layer setCornerRadius:8.0];
  148.     [lessonBUtton135 setAlpha:0.7f];
  149.     [lessonBUtton135 addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  150.     [tableScrowView addSubview:lessonBUtton135];
  151.    
  152.    
  153.    
  154.     UIButton *lessonBUtton15=[[UIButton alloc]initWithFrame:CGRectMake(30+dayWidth*5, 30+sectionHeight*1, dayWidth, sectionHeight*2)];
  155.     [lessonBUtton15 setTitle:@"专业英语" forState:UIControlStateNormal];
  156.     lessonBUtton15.titleLabel.numberOfLines=0;
  157.     [lessonBUtton15 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  158.     [lessonBUtton15 setBackgroundColor:[UIColor purpleColor]];
  159.     [lessonBUtton15.layer setCornerRadius:8.0];
  160.     [lessonBUtton15 setAlpha:0.7f];
  161.     [lessonBUtton15 addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  162.     [tableScrowView addSubview:lessonBUtton15];
  163.    
  164.     UIButton *lessonBUtton123=[[UIButton alloc]initWithFrame:CGRectMake(30+dayWidth*6, 30+sectionHeight*5, dayWidth, sectionHeight*2)];
  165.     [lessonBUtton123 setTitle:@"睡觉,不写了" forState:UIControlStateNormal];
  166.     lessonBUtton123.titleLabel.numberOfLines=0;
  167.     [lessonBUtton123 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  168.     [lessonBUtton123 setBackgroundColor:[UIColor orangeColor]];
  169.     [lessonBUtton123.layer setCornerRadius:8.0];
  170.     [lessonBUtton123 setAlpha:0.7f];
  171.     [lessonBUtton123 addTarget:self action:@selector(cellClick:) forControlEvents:UIControlEventTouchUpInside];
  172.     [tableScrowView addSubview:lessonBUtton123];
  173.    
  174.    
  175. //
  176.    
  177. //     此处循环创建的Button  可由tag   取出
  178. //    for (int i=0 ; i<6; i++) {
  179. //        UIButton *button=[UIButton alloc];
  180. //        button.tag=4;
  181. //        [tableScrowView addSubview:button];
  182. //        
  183. //        
  184. //    }
  185. //
  186.    

  187. }




  188. -(void)cellClick:(UIButton*) _button{
  189.    
  190.     TableCellController *tableCell=[[TableCellController alloc]init];
  191.    
  192.     tableCell.button=_button;
  193.     UINavigationController *navTableCell=[[UINavigationController alloc]initWithRootViewController:tableCell];
  194.        self.view.window.rootViewController = navTableCell;

  195.         [UIView animateWithDuration:1 animations:^{

  196.         }];




  197. }


  198. //
  199. //TableCellController *tableCell=[[TableCellController alloc]init];
  200. //
  201. //tableCell.button=_button;
  202. //UINavigationController *navTableCell=[[UINavigationController alloc]initWithRootViewController:tableCell];
  203. //[UIView transitionFromView:self.view.window.rootViewController.view
  204. //                    toView:navTableCell.view
  205. //                  duration:0.5
  206. //                   options:UIViewAnimationOptionTransitionCurlUp
  207. //                completion:^(BOOL finished)
  208. // {
  209. //     self.view.window.rootViewController = navTableCell;
  210. // }];



  211. @end
复制代码


25 个回复

倒序浏览
谢谢亲的分享
回复 使用道具 举报
谢谢亲的分享
回复 使用道具 举报
不清楚的可以私聊

评分

参与人数 1黑马币 +2 收起 理由
AUASBUB + 2

查看全部评分

回复 使用道具 举报
233333333333333333333333333
回复 使用道具 举报
要顶一下!!!
回复 使用道具 举报
谢了。。。。。。。
回复 使用道具 举报
谢谢。。。。。。。
回复 使用道具 举报
这都可以
回复 使用道具 举报
太坑了吧
回复 使用道具 举报
guyuexing 来自手机 中级黑马 2016-1-17 10:03:10
11#
谢谢分享
回复 使用道具 举报
每天水一水
回复 使用道具 举报
要不要这么长???
回复 使用道具 举报
ak13211 发表于 2016-1-19 13:59
要不要这么长???

等咱到了就业班都是这么长
回复 使用道具 举报
留名。。。。。。。。
回复 使用道具 举报
谢谢分享代码
回复 使用道具 举报
sunshine429 来自手机 中级黑马 2016-1-20 23:56:06
17#
非常棒,顶一顶!!
回复 使用道具 举报
感谢亲的分享
回复 使用道具 举报
guyuexing 来自手机 中级黑马 2016-1-21 09:49:36
19#
谢谢分享
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马