文档章节

UITableView 抽取及控制器的调用整合

biyu6
 biyu6
发布于 2016/05/19 10:51
字数 335
阅读 10
收藏 0
点赞 2
评论 0

#import "FatherView.h"

@interface AdminSafetyView : FatherView

@property (nonatomic, copy) void (^clickedAdminSafetyViewCell)(NSInteger index);

@end

================================================================================

 

#import "AdminSafetyView.h"

@interface AdminSafetyView ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic, strong) UITableView * tableView;

@property (nonatomic, strong) UIView * topView;

@end

 

@implementation AdminSafetyView

 

- (instancetype)init{

    self = [super init];

    if (self) {

        [self initTopView];

        [self initTableView];

    }

    return self;

}

- (void)initTopView{

    _topView  = [[UIView alloc] init];

    _topView.backgroundColor = BACKGROUND_COLOR;

    [self addSubview:_topView];

    [_topView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.top.equalTo(self.mas_top).offset(1);

        make.left.and.right.equalTo(self);

        make.height.equalTo(@19);

    }];

}

- (void)initTableView{

    _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];

    _tableView.backgroundColor = BACKGROUND_COLOR;

    _tableView.dataSource = self;

    _tableView.delegate = self;

    _tableView.scrollEnabled = NO;

    _tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    _tableView.separatorInset = UIEdgeInsetsMake(0, 20, 0, 0);

    _tableView.separatorColor =  boroerAndLineColor;

     [self addSubview:_tableView];

    WS(ws);

    [_tableView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.top.equalTo(ws.mas_top).offset(20);

        make.left.and.right.bottom.equalTo(ws);

    }];

}

#pragma mark - 协议

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

    return 1;

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return 2;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

       UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ID"];

    if (!cell) {

              cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ID"];

           }

      //自定义cell;

    if (indexPath.row == 0) {

        cell.textLabel.text = @"修改登录密码";

    }

    else {

        cell.textLabel.text = @"找回密码";

    }

    cell.textLabel.textColor = RGBAUIColorFrom(0x323232, 1.0);

    cell.textLabel.font = [UIFont systemFontOfSize:14];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

       return cell;

    }

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    return 45.0f;

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    self.clickedAdminSafetyViewCell(indexPath.row);

    }

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

    return 0.001f;

}

@end

================================================================================================

#import "AdminSafetyViewController.h"

#import "AdminSafetyView.h"

#import "ChangePWDViewController.h"

#import "BackPWDViewController.h"

 

@interface AdminSafetyViewController ()

 

@property (nonatomic,strong) AdminSafetyView *adminSafetyView;

 

@end

 

@implementation AdminSafetyViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    [self initView];

    [self initClicked];

}

- (void)initView{

    [self initLeftItemWithName:nil orImage:@"btn_return"];

    [self.adminSafetyView setBackgroundColor:BACKGROUND_COLOR];

}

- (AdminSafetyView *)adminSafetyView{

    WS(ws);

    if (!_adminSafetyView) {

        _adminSafetyView = [[AdminSafetyView alloc]init];

        [self.view addSubview:_adminSafetyView];

        

        [_adminSafetyView mas_makeConstraints:^(MASConstraintMaker *make) {

            make.top.equalTo(ws.view).offset(65);

            make.left.right.bottom.equalTo(ws.view);

        }];

    }

    return _adminSafetyView;

}

- (void)initClicked{

    WS(ws);

    _adminSafetyView.clickedAdminSafetyViewCell = ^(NSInteger index)

    {

        switch (index) {

            case 0:{

                ChangePWDViewController * changeVC = [[ChangePWDViewController alloc] init];

                [ws.navigationController pushViewController:changeVC animated:YES];

            }

                break;

            case 1:{

                BackPWDViewController * backVC = [[BackPWDViewController alloc] init];

                [ws.navigationController pushViewController:backVC animated:YES];

            }

                break;

            default:

                break;

        }

    };

}

@end

 

 

© 著作权归作者所有

共有 人打赏支持
biyu6
粉丝 5
博文 30
码字总数 2657
作品 0
昌平
程序员
一个多UITableview的左右滑动简单解决方案

前言 本文源自实际开发中的需求,核心的要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview的滑动切换效果; 3、每个UITableview单独的下拉刷新和上拉加载; 效果...

落影loyinglin ⋅ 04/22 ⋅ 0

UITableView方法的执行顺序流畅性优化

(一)、UITableView的执行顺序 numberOfSectionsInTableView(确定有几组) -> numberOfRowsInSection(确定每组有多少的行) -> heightForRowAtIndexPath(确定每行cell的高度) 以上信息确定完毕...

朝雨晚风 ⋅ 2017/10/23 ⋅ 0

iOS UITableView获取特定位置的cell

一、tableView双级联动 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tableView顶部的cell的indexPath。 方案一:获得当前可见的所有cell,然后取可见cell数组中的第...

且行且珍惜_iOS ⋅ 05/23 ⋅ 0

Table View Programming Guide for iOS 官方文档翻译

About Table Views in iOS Apps( iOS应用程序中的Table View) Table views are versatile user interface objects frequently found in iOS apps. A table view presents data in a scrol......

zyq522376829 ⋅ 05/03 ⋅ 0

iOS开发笔记(八)---- 键盘、静态库、动画、Crash定位

前言 分享开发中遇到的问题,和相关的一些思考。 iOS11键盘问题 功能背景: 弹出键盘时,如果有输入框的话,需要输入框的位置跟随键盘大小而变动。 问题描述: 当快速切换键盘之后,容易出现...

落影loyinglin ⋅ 04/28 ⋅ 0

iOS 面试全方位剖析 -- UI视图篇(二)

UITableView相关 事件传递&视图响应 图像显示原理 卡顿&掉帧 绘制原理&异步绘制 离屏渲染 面试问题总结 图像显示原理 具体的看一下CPU和GPU做了哪些事,看下图 } 此时的堆栈...

PetitBread ⋅ 05/10 ⋅ 0

iOS打造属于自己的用户行为统计系统

打造一款符合自己公司需求的用户行为统计系统,相信是很多运营人员的梦想,也是开发人员对技术的的执着追求。下面我为大家分一享下自己为公司打造的用户行为统计系统。   用户行为统计(Us...

贝勒老爷 ⋅ 04/20 ⋅ 0

iOS 图解一个功能很全的视频播放器的使用

大家好, 上一次我分享了一个视频播放器(SJVideoPlayer), 今天我再给大家分享一下它的使用图解, 希望大家喜欢. 对了, 本项目除了全屏手势hook了一下nav的push方法, 其它功能都对原始项目无任何...

changsanjiang ⋅ 06/06 ⋅ 0

高性能聊天页面解决方案 - CDChatList

CDChatList 高性能的聊天页面解决方案 对聊天列表的高度封装,可灵活配置页面样式 聊天界面其实大同小异,所以这里封装了一个聊天的组件,使用CoreText和手动代码布局,尽量实现简单,通用,...

chdo002 ⋅ 04/26 ⋅ 0

iOS开发之XLForm的使用

在iOS开发中,开发界面,字段稍微多一点的一般都用UITableView来做,而就是这样一个框架,它是创建动态表格视图最牛逼的iOS库, 用它实现表单功能,非常简单,省心省力。但是很可惜,搜索了很...

YungFan ⋅ 04/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

服务网关过滤器

过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会...

明理萝 ⋅ 16分钟前 ⋅ 1

【2018.06.21学习笔记】【linux高级知识 14.1-14.3】

14.1 NFS介绍 NFS服务全称是NetWork File System:网络文件系统,最早有sun公司开发的,4.0版本由Netapp公司开发,是基于RPC远程过程调用(Remote Procedure Call)协议的服务。 14.2 NFS服务...

lgsxp ⋅ 25分钟前 ⋅ 0

Day18 vim编辑模式、命令模式与练习

编辑模式 命令模式 :nohl 不高亮显示 :x与:wq类似,如果在更改文件之后操作,两者效果一样;如果打开文件,没有任何操作; :wq会更改mtime,但是:x不会。 练习题 扩展 vim的特殊用法 ht...

杉下 ⋅ 28分钟前 ⋅ 0

Enum、EnumMap、EnumSet

1、Enum 不带参数 public enum Car { AUDI { @Override public int getPrice() { return 25000; } }, MERCEDES { ......

职业搬砖20年 ⋅ 29分钟前 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 30分钟前 ⋅ 0

线程组和 ThreadLocal

前言 在上面文章中,我们从源码的角度上解析了一下线程池,并且从其 execute 方法开始把线程池中的相关执行流程过了一遍。那么接下来,我们来看一个新的关于线程的知识点:线程组。 线程组 ...

猴亮屏 ⋅ 31分钟前 ⋅ 0

相对路径和绝对路径

基本概念   文件路径就是文件在电脑中的位置,表示文件路径的方式有两种,相对路径和绝对路径。在网页设计中通过路径可以表示链接,插入图像、Flash、CSS文件的位置。   物理路径:物理路...

临江仙卜算子 ⋅ 35分钟前 ⋅ 0

消息队列属性及常见消息队列介绍

什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费。分布式消息服务DMS则是分布式的队列系统,消...

中间件小哥 ⋅ 38分钟前 ⋅ 0

java程序员使用web3j进行以太坊开发详解

如何使用web3j为Java应用或Android App增加以太坊区块链支持,教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤器...

笔阁 ⋅ 38分钟前 ⋅ 0

vim编辑模式、vim命令模式

vim编辑模式 使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式...

李超小牛子 ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部