zoukankan      html  css  js  c++  java
  • 自定义UITableViewCell中的button实现视图切换

    自定义UITableViewCell中的button如何实现视图切换 

    问题如题,原理很简单,只要在cell中给对应的button添加操作事件就好了。

    示例代码如下:

    navigationTableCell.h

    //
    //  navigationTableCell.h
    //  xunYi7
    //
    //  Created by david on 13-6-18.
    //  Copyright (c) 2013年 david. All rights reserved.
    //
    #import <UIKit/UIKit.h>
    @interface navigationTableCell : UITableViewCell
    @property (strong, nonatomic) IBOutlet UIButton *directorBtn;
    @property (strong, nonatomic) IBOutlet UIButton *writerBtn;
    @property (strong, nonatomic) IBOutlet UIButton *performerBtn;
    @property (strong, nonatomic) IBOutlet UIButton *otherBtn;
    @property (strong, nonatomic) IBOutlet UIButton *chancePerformerBtn;
    @property (strong, nonatomic) IBOutlet UIButton *chanceOtherBtn;
    @end

    navigationTableCell.m

    //
    //  navigationTableCell.m
    //  xunYi7
    //
    //  Created by david on 13-6-18.
    //  Copyright (c) 2013年 david. All rights reserved.
    //
    #import "navigationTableCell.h"
    @implementation navigationTableCell
    - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
    {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
    // Initialization code
    }
    return self;
    }
    - (void)setSelected:(BOOL)selected animated:(BOOL)animated
    {
    [super setSelected:selected animated:animated];
    // Configure the view for the selected state
    }
    @end
    
    功能实现过程

    -(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    NSUInteger row = [indexPath row];
    if(row == 0)
    {
    static NSString *navigationTableCellIdentifier = @"navigationTableCell";
    UINib *navigationTableCellNib = [UINib nibWithNibName:@"navigationTableCell" bundle:nil];
    [_dataTable registerNib:navigationTableCellNib forCellReuseIdentifier:navigationTableCellIdentifier];
    navigationTableCell *cell = [self.dataTable dequeueReusableCellWithIdentifier:navigationTableCellIdentifier];
    if(cell == nil)
    {
    cell = [[navigationTableCell alloc] initWithStyle:UITableViewCellStyleDefault
    reuseIdentifier:navigationTableCellIdentifier];
    }
    [cell.directorBtn addTarget:self
    action:@selector(directorPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.directorBtn];
    [cell.writerBtn addTarget:self
    action:@selector(writerPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.writerBtn];
    [cell.performerBtn addTarget:self
    action:@selector(performerPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.performerBtn];
    [cell.otherBtn addTarget:self
    action:@selector(otherPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.otherBtn];
    [cell.chancePerformerBtn addTarget:self
    action:@selector(chancePerformerPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.chancePerformerBtn];
    [cell.chanceOtherBtn addTarget:self
    action:@selector(chanceOtherPush:)
    forControlEvents:UIControlEventTouchUpInside];
    [self giveButtonDrawCorner:cell.chanceOtherBtn];
    return cell;
    }
    static NSString *cellIdentifier = @"cellIdentifier";
    UITableViewCell *cell = [self.dataTable dequeueReusableCellWithIdentifier:cellIdentifier];
    if(cell == nil)
    {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }
    NSDictionary *dic = [self.dataDic objectForKey:[NSString stringWithFormat:@"%d",row]];
    CGRect cellFrame = [cell frame];
    cellFrame.size.height = 50.0;
    [cell setFrame:cellFrame];
    cell.textLabel.text = [dic valueForKey:@"title"];
    cell.textLabel.font = [UIFont systemFontOfSize:18.0];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
    }
  • 相关阅读:
    一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
    常用Git命令大全
    职场被边缘化是怎样的
    HTTP网络设置
    java黑科技
    cmd执行java命令
    python 使用镜像下载依赖包
    初识go语言
    华为交换机(S5720)配置日志外发syslog服务器
    Neo4j记录
  • 原文地址:https://www.cnblogs.com/chengfang/p/4113484.html
Copyright © 2011-2022 走看看