前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS 输入支付密码demo

iOS 输入支付密码demo

作者头像
honey缘木鱼
发布于 2019-07-01 03:18:02
发布于 2019-07-01 03:18:02
2.2K00
代码可运行
举报
文章被收录于专栏:娱乐心理测试娱乐心理测试
运行总次数:0
代码可运行

一.效果图:

实现思路: 1.输入显示试图和系统键盘的出现和隐藏。 2.用UILabel和UITextField实现输入框。

二.关键代码:

代码语言:javascript
代码运行次数:0
运行
复制
//试图的出现和隐藏方法
- (void)showPayPopView
{
    __weak typeof(self) weakSelf = self;
    [UIView animateWithDuration:AnimationTimeInterval animations:^{
        __strong typeof(weakSelf) strongSelf = weakSelf;
        strongSelf.superView.backgroundColor = [UIColor colorWithWhite:0.3 alpha:0.3];
    } completion:nil];
}

- (void)hidePayPopView
{
    __weak typeof(self) weakSelf = self;
    [UIView animateWithDuration:AnimationTimeInterval animations:^{
        __strong typeof(weakSelf) strongSelf = weakSelf;
        strongSelf.superView.alpha = 0.0;
        strongSelf.frame = CGRectMake(strongSelf.frame.origin.x, kScreenWidth, strongSelf.frame.size.width, strongSelf.frame.size.height);
    } completion:^(BOOL finished) {
        __strong typeof(weakSelf) strongSelf = weakSelf;
        [strongSelf.superView removeFromSuperview];
        strongSelf.superView = nil;
    }];
}

//输入密码或删除时

代码语言:javascript
代码运行次数:0
运行
复制
- (void)updateLabelBoxWithText:(NSString *)text
{
    //输入时
    if (text.length > self.currentText.length) {
        for (int i = 0; i < PasswordBoxNumber; i++)
        {
            UILabel *label = self.labelBoxArray[i];
            if (i < text.length - 1)
            {
                //特殊字符不居中显示,设置文本向下偏移
                NSAttributedString * att1 = [[NSAttributedString alloc] initWithString:@"*" attributes:@{NSBaselineOffsetAttributeName:@(-3)}];
                label.attributedText = att1;
            }
            else if (i == text.length - 1)
            {
                label.text = [text substringWithRange:NSMakeRange(i, 1)];
                [self animationShowTextInLabel: label];
            }
            else
            {
                label.text = @"";
            }
        }
    }
    //删除时
    else
    {
        for (int i = 0; i < PasswordBoxNumber; i++)
        {
            UILabel *label = self.labelBoxArray[i];
            if (i < text.length)
            {
                //特殊字符不居中显示,设置文本向下偏移
                NSAttributedString * att1 = [[NSAttributedString alloc] initWithString:@"*" attributes:@{NSBaselineOffsetAttributeName:@(-3)}];
                label.attributedText = att1;
            }
            else
            {
                label.text = @"";
            }
        }
    }
    self.textField.text = text;
    self.currentText = text;
}

//block回调拿到输入的密码字符

代码语言:javascript
代码运行次数:0
运行
复制
- (void)textDidChanged:(UITextField *)textField
{
    if (textField.text.length > PasswordBoxNumber)
    {
        textField.text = [textField.text substringToIndex:PasswordBoxNumber];
    }
    
    [self updateLabelBoxWithText:textField.text];
    if (textField.text.length == PasswordBoxNumber)
    {
        if (self.completionBlock)
        {
            self.completionBlock(self.textField.text);
        }
    }
}

demo下载地址:https://github.com/dt8888/PursePossword

三.demo 的使用

1.初始化试图

代码语言:javascript
代码运行次数:0
运行
复制
self.payPopupView = [[PursePopupView alloc]initWithFrame:CGRectMake(0, XX_6(310), kScreenWidth, kScreenHeight)];
 self.payPopupView.delegate = self;
 [self.payPopupView showPayPopView];

2.实现代理方法拿到输入密码字符串

代码语言:javascript
代码运行次数:0
运行
复制
- (void)didPasswordInputFinished:(NSString *)password
{
    if ([password isEqualToString:@"123456"])
    {
        NSLog(@"输入的密码正确");
    }
    else
    {
        NSLog(@"输入错误:%@",password);
        [self.payPopupView didInputPayPasswordError];
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
SAP CO主数据介绍-成本中心(组)
成本中心(Cost center)和成本要素是CO 模块中对费用归集的两大要件。可以说离开成本要素和成本中心,那么CO 模块起不到任何的作用。
用户5495712
2020/12/31
5.7K0
matinal:ChatGPT给出SAP FI的配置步骤,你看看怎么样
公司代码是SAP系统中财务会计的基本组织单元。在配置SAP FI之前,您需要定义公司代码并设置相关的参数。这包括会计年度、货币、会计凭证等。您还可以配置公司代码的组织结构和控制参数,如利润中心、成本中心等。
matinal
2024/03/30
1830
SAP CO主数据介绍-次级成本要素
如果说初级成本要素是FI 与CO 之间的桥梁,那么次级成本要素就是CO 内部进行成本流
用户5495712
2020/12/14
2.5K0
SAP CO-成本管理方案
1、 原材料及外购产品采购入库时,按照移动平均成本计价,外购件主数据中维护计划价格(分别为去年平均价及最新市场价),采购价格与主数据中的计划价格进行对比,材料会计定期运行报表《外购物料价格对比分析表》对差异进行分析,及时根据市场行情调整材料的计划价格(详见应付管理方案);
用户5495712
2019/05/29
4K0
SAP CO-成本管理方案
SAP FICO-财务模块入门介绍一
会 计 科 目表:合并科目表、运营科目表、集团科目表等,可供直接记帐的为运营科目表;
用户5495712
2019/05/29
7.2K0
SAP FI/CO 成本中心类型与功能范围
SAP中成本中心类型(Cost CenterType)和功能范围(Function Area)是两个常见并且容易接触到的概念。这两个概念与费用核算、成本核算、财务报表编制、科目设置等都有关系。现在结合相关配置和实务说明如下:
matinal
2020/11/04
1.4K0
SAP FI/CO 成本中心类型与功能范围
SAP CO主数据介绍-初级成本要素
主数据是ERP 的根本所在,ERP 所有的运算、操作都是基于主数据的。在控制模块
用户5495712
2020/12/14
3.3K0
SAP FI-资产管理方案
固定资产折旧范围:所有资产记帐到主导分类帐0L均使用正常折旧范围,对于半导体专业、印制板专业腐蚀性严重的设备,由于特殊性需要减少折旧年限的,定义不同的折旧范围;
用户5495712
2019/05/29
3.1K0
SAP FI-资产管理方案
SAP FICO 之物料成本历程分析一
在SAP的FICO中,对于入行的同事来说,最难的点不在乎就是CO的管理, CO管理中说白了就是:“ ”料 + 工 + 费” 的管理:
SAP FICO财务与成本
2022/03/19
2.7K0
SAP 成本中心费用计划操作
说明:成本中心作为CO的管理对象,归集企业所发生的所有费用,根据成本中心报表可以方便的看到每个成本中心的计划和实际费用情况,进行差异对比分析,因此,要对成本中心的绩效进行考核,需要制定严格有效的预算、计划管理和费用分析规范,通过实际与计划的分析,挖掘成本费用的异常,进而达到费用合理控制的目的。
用户5495712
2019/05/29
4.6K0
SAP CO-主数据管理方案
1、设置集团运营会计科目表(中国),供下所有公司代码共用,每个公司代码根据自己的需求从运营科目表中扩展自己需要的会计科目;若将来新建公司代码需要使用国外的运营科目表,则可以创建新的运营会计科目表供国外公司代码使用;
用户5495712
2019/05/29
2K0
SAP 成本要素知识介绍
成本要素是在成本控制范围内用于记录成本消耗价值的载体,是对成本、费用的明细分类,用于详细记录成本、费用的发生方式和发生原因,对成本要素过账时,必须附加一个成本对象,如:成本中心,内部定单、WBS要素等。
用户5495712
2024/07/22
9060
SAP 成本要素知识介绍
从SAP最佳业务实践看企业管理(166)-CO成本相关概念
成本对象(costobjective): 或称成本客体,是指可用个别成本加以衡量的任何活动或项目。成本对象是管理会计的主要特色,它可能是资源消耗或取得的活动或作业(修理汽车、回答所询问的咨询、测试电路板、或调节银行帐户); 可能是产品或劳务(制造个人电脑、租用房间);可能是一项设计(筑屋、造船);可能是一项计划(药物控制计划、或运动计划)。 SAP中成本对象: 1. 成本中心(CostCenter) 成本中心类似于企业内部“部门”的概念,但在财务管理中它主要用于成本控制的目的。将公司按照成本中心分
SAP最佳业务实践
2018/03/27
1.3K0
从SAP最佳业务实践看企业管理(166)-CO成本相关概念
相关推荐
SAP CO主数据介绍-成本中心(组)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档