zoukankan      html  css  js  c++  java
  • iOS.UIKit.12.UICollectionView

    一、案例介绍:以集合形式展现图片,如图01

    图01

    二、案例步骤:

    1、选择Simple View Aplication,取名cq.38.集合视图,如图02

    图02

    2、Main.storyboard,如图03

    图03

    3、events.plist,如图04,05

    4、CQ38ViewController.h

    #import <UIKit/UIKit.h>
    
    @interface CQ38ViewController : UICollectionViewController
    
    @property (strong,nonatomic) NSArray *events;
    
    @end

    5、CQ38ViewController.m

    #import "CQ38ViewController.h"
    #import "CQ38CollectionViewCell.h"
    
    @interface CQ38ViewController ()
    
    @end
    
    @implementation CQ38ViewController
    
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
        NSBundle *bundle = [NSBundle mainBundle];
        NSString *plistPath = [bundle pathForResource:@"events"
                                               ofType:@"plist"];
        //获取属性列表文件中的全部数据
        NSArray *array = [[NSArray alloc] initWithContentsOfFile:plistPath];
        self.events = array;
        
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    }
    
    #pragma mark - UICollectionViewDataSource
    
    - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    {
        return [self.events count] / 2;
    }
    
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
        return 2;
    }
    
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
        CQ38CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
        NSDictionary *event = [self.events objectAtIndex:(indexPath.section*2 + indexPath.row)];
        cell.label.text = [event objectForKey:@"name"];
        cell.imageView.image = [UIImage imageNamed:[event objectForKey:@"image"]];
        return cell;
    }
    
    #pragma mark - UICollectionViewDelegate
    - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    {
        NSDictionary *event = [self.events objectAtIndex:(indexPath.section*2 + indexPath.row)];
        NSLog(@"select event name : %@", [event objectForKey:@"name"]);
        
    }
    @end
  • 相关阅读:
    跨域请求携带cookie
    vue keep-alive
    关于js replace 第二个参数时函数时,函数参数解析
    前端开发规范之CSS
    git命令集合(正在完善中...)
    怎么写jQuery的插件
    git命令集合
    GitHub创建静态网站预览方法
    正则表达式
    各种浏览器全屏模式的方法、属性和事件介绍
  • 原文地址:https://www.cnblogs.com/cqchen/p/3765030.html
Copyright © 2011-2022 走看看