zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-iCarouselDemo

    一,效果图。

    二,工程图。

    三,代码。

    RootViewController.h

    RootViewController.m

    myCell.h

    复制代码
    #import <UIKit/UIKit.h>
    #import <QuartzCore/QuartzCore.h>
    @interface myCell : UITableViewCell
    {
        UILabel * myLable;
        UIImageView * myImageView;
        UILabel * title;
    }
    @property (strong,nonatomic) UILabel * myLabel;
    @property (strong,nonatomic) UIImageView * myImageView;
    @property (strong,nonatomic) UILabel * title;
    @end
    复制代码

    myCell.m

    复制代码
    #import "myCell.h"
    
    @implementation myCell
    
    @synthesize myLabel;
    @synthesize myImageView;
    @synthesize title;
    
    - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
    {
        self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
        if (self) {
            
            myLabel = [[UILabel alloc] init];
            myLabel.lineBreakMode=NSLineBreakByCharWrapping;
            myLabel.numberOfLines = 0;
            myLabel.font = [UIFont fontWithName:@"MicrosoftYaHei" size:20.0];
            [self addSubview:myLabel];
            
            myImageView = [[UIImageView alloc] init];
            [self addSubview:myImageView];
            
            title = [[UILabel alloc] init];
            title.frame = CGRectMake(10, 10, 50, 30);
            title.backgroundColor = [UIColor colorWithRed:230/255.0 green:192/255.0 blue:203/255.0 alpha:1.0];
            title.layer.cornerRadius = 10.0;
            [self addSubview:title];
           ;
        }
        return self;
    }
    
    - (void)setSelected:(BOOL)selected animated:(BOOL)animated
    {
        [super setSelected:selected animated:animated];
        // Configure the view for the selected state
    }
    @end
    复制代码

    CardViewController.h

    复制代码
    #import <UIKit/UIKit.h>
    
    @interface CardViewController : UIViewController
    <UITableViewDataSource,UITableViewDelegate>
    {
        NSMutableArray *array ;
        NSMutableArray * titleArray;
    }
    @property (strong ,nonatomic) NSMutableArray *array;
    @property (strong,nonatomic) NSString * month;
    @property (strong,nonatomic) NSString * imageName;
    @property (strong,nonatomic) NSString * title;
    
    @end
    复制代码

    CardViewController.m

    复制代码
    #import "CardViewController.h"
    #import "myCell.h"
    
    @interface CardViewController ()
    
    @end
    
    @implementation CardViewController
    @synthesize array;
    @synthesize month;
    @synthesize imageName;
    @synthesize title;
    
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    -(void)viewDidLoad
    {
        [super viewDidLoad];
        
        
        NSDictionary * dic1 = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"BabyCard" ofType:@"plist"]];
        self.array = [dic1 objectForKey:month];
        
        NSDictionary * dic2 = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Title" ofType:@"plist"]];
        titleArray = [[NSMutableArray alloc] init];
        titleArray = [dic2 objectForKey:title];
        
        UITableView * tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain];
        tableView.delegate = self;
        tableView.dataSource = self;
        tableView.showsVerticalScrollIndicator = NO;
        [self.view addSubview:tableView];
        
        
        UIButton * back = [UIButton buttonWithType:UIButtonTypeCustom];
        back.frame = CGRectMake(10, 10, 25, 31);
        [back setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
        [back addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
        [tableView addSubview:back];
    }
    #pragma -mark -doClickActions
    -(void)back
    {
        CATransition *animation = [CATransition animation];
        animation.delegate = self;
        animation.duration = 0.7;
        animation.type = @"oglFlip";
        animation.subtype = kCATransitionFromLeft;
        [self.view.layer addAnimation:animation forKey:@"animation"];
        [self.navigationController dismissViewControllerAnimated:YES completion:nil];
    }
    #pragma -mark -UITableViewDelegate
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return array.count;
    }
    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSString * str = [array objectAtIndex:indexPath.row];
      
        CGSize size=[str boundingRectWithSize:CGSizeMake(300, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:20.0]} context:nil].size;
    
        
        if(indexPath.row == 0)
        {
             return size.height + 350;
        }
        else
        {
            return size.height + 60;
        }
    }
    
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        myCell * cell = [tableView dequeueReusableCellWithIdentifier:@"id"];
        if(cell == nil){
            cell = [[myCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"id"];
        }
        
        NSString * str = [array objectAtIndex:indexPath.row];
        CGSize size=[str boundingRectWithSize:CGSizeMake(300, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:20.0]} context:nil].size;
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        
       
        NSString * str2 = [NSString stringWithFormat:@" %@ ",[titleArray objectAtIndex:indexPath.row]];
        CGSize size2=[str boundingRectWithSize:CGSizeMake(300, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: [UIFont systemFontOfSize:10.0]} context:nil].size;
        cell.title.text = str2;
        if(indexPath.row == 0){
            cell.myImageView.hidden = NO;
            cell.myImageView.image = [UIImage imageNamed:imageName];
            cell.myImageView.frame = CGRectMake(0, 0, 320, 300);
            cell.myLabel.frame = CGRectMake(10, 350, 300, size.height);
            cell.title.frame = CGRectMake(10, 310, size2.width, 30);
        }else{
            cell.myImageView.hidden = YES;
            cell.myLabel.frame = CGRectMake(10, 50, 300, size.height);
            cell.title.frame = CGRectMake(10, 10,size2.width, 30);
        }
        cell.myLabel.text = str;
        return cell;
    }
    @end
    复制代码
  • 相关阅读:
    读书计划
    《梦断代码》读书笔记1
    合作项目5
    合作项目4
    合作项目3
    电梯调度需求分析
    合作项目2
    四则运算3程序
    合作编程
    四则运算某模块程序测试
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5429702.html
Copyright © 2011-2022 走看看