美文网首页
OC plist重写单元格

OC plist重写单元格

作者: J_mine | 来源:发表于2017-09-03 20:49 被阅读0次

    一 创建一个plist文件,并添加一些分组的名称,如下图所示

    屏幕快照 2017-09-03 下午8.40.03.png

    二 先创建一个继承于UITableViewCell的文件,命名为 MyTableViewCell.

    在.h中文件中,定义一些属性

    @property(nonatomic,strong)UIImageView *theImage ;
    @property(nonatomic,strong)UILabel *theL1,*theL2,*theL3,*theL4,*theL5 ;
    
    
    

    在.m中写懒加载方法

    //懒加载模式  使用下划线
    -(UIImageView *)theImage
    {
        if (!_theImage) {
            _theImage = [[UIImageView alloc]initWithFrame:CGRectMake(5, 5, 80, 80)];
            [_theImage.layer setCornerRadius:80/2];
            _theImage.layer.masksToBounds = YES ;
            
            //添加到视图
            [self addSubview:self.theImage];
        }
        return _theImage ;
    }
    //UILab懒加载
    -(UILabel*)theL1
    {
        if (!_theL1) {
            _theL1 = [[UILabel alloc]initWithFrame:CGRectMake(85, 5, 160, 30)];
            
            //添加到视图
            [self addSubview:self.theL1];
        }
        return _theL1 ;
    }
    -(UILabel*)theL2
    {
        if (!_theL2) {
            _theL2 = [[UILabel alloc]initWithFrame:CGRectMake(85, 25, 160, 30)];
            
            //添加到视图
            [self addSubview:self.theL2];
        }
        return _theL2 ;
    }
    -(UILabel*)theL3
    {
        if (!_theL3) {
            _theL3 = [[UILabel alloc]initWithFrame:CGRectMake(85,45, 160, 30)];
            
            //添加到视图
            [self addSubview:self.theL3];
        }
        return _theL3 ;
    }
    -(UILabel*)theL4
    {
        if (!_theL4) {
            _theL4 = [[UILabel alloc]initWithFrame:CGRectMake(255, 5, 160, 30)];
            
            //添加到视图
            [self addSubview:self.theL4];
        }
        return _theL4 ;
    }
    -(UILabel*)theL5
    {
        if (!_theL5) {
            _theL5 = [[UILabel alloc]initWithFrame:CGRectMake(305, 45, 160, 30)];
            
            //添加到视图
            [self addSubview:self.theL5];
        }
        return _theL5 ;
        
    }
    
    

    在ViewController.m文件中 书写具体的代码

    #import "ViewController.h"
    #import "MyTableViewCell.h"
    @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
    {
        NSDictionary *theDic;
    }
    @property(nonatomic,strong)UITableView *theTable ;
    @end
    
    @implementation ViewController
    
    -(UITableView *)theTable
    {
        if (!_theTable)
        {
            _theTable  = [[UITableView alloc]initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height-20) style:UITableViewStylePlain];
            
            _theTable.delegate = self ;
            _theTable.dataSource = self ;
            _theTable.rowHeight = 80 ;
        }
        return _theTable;
    }
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        [self.view addSubview:self.theTable];
        NSString *path = [[NSBundle mainBundle]pathForResource:@"My list" ofType:@"plist"];
        theDic = [NSDictionary dictionaryWithContentsOfFile:path];
        
    }
    #pragma -
    #pragma mark -UITableViewDataSource
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return theDic.allKeys.count;
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"celled"];
        
        if (!cell) {
            cell = [[MyTableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"celled"];
        }
        NSString *key = [theDic.allKeys objectAtIndex:indexPath.row];
        NSArray *arr = [theDic objectForKey:key];
        cell.theImage.image = [UIImage imageNamed:arr[0]];
        cell.theL1.text = key ;
        cell.theL2.text = arr[1];
        cell.theL3.text = arr[2];
        cell.theL4.text = arr[3];
        cell.theL5.text = arr[4];
            return cell ;
        
    }
    
    

    在AppDelegate.m写一个导航栏

    导入头文件

    #import "ViewController.h"
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        ViewController *theVc = [[ViewController alloc]init];
        UINavigationController *theNav = [[UINavigationController alloc]initWithRootViewController:theVc];
        //添加标题
        theVc.title = @"菜单";
        
        self.window.rootViewController = theNav ;
        
    
        return YES;
    }
    

    相关文章

      网友评论

          本文标题:OC plist重写单元格

          本文链接:https://www.haomeiwen.com/subject/hoijjxtx.html