秒验 iOS端如何修改授权页背景

修改授权页背景为透明色
基于一键登录的拉起授权页功能,如果想要修改授权页的背景颜色,来调整成符合自己app样式的背景。以下代码示例主要介绍如何修改授权页的背景颜色,例如将授权页背景修改为透明色:

-(void)login
{//创建一个Ui配置对象SVSDKHyUIConfigure * Ui = [SVSDKHyUIConfigure new];Ui.currentViewController = self;//需要注意的是:要想将授权页设置为透明色需要设置modalPresentationStyle为UIModalPresentationOverFullScreenUi.modalPresentationStyle = @(UIModalPresentationOverFullScreen);//Swift
中可以设置为iConfigure.modalPresentationStyle = 5[SVSDKHyVerify setDelegate:self];[SVSDKHyVerify openAuthPageWithModel:Ui openAuthPageListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {if(error!=nil){//拉起授权页失败NSLog(@"%@",error.description);}else{//拉起授权页成功NSLog(@"成功");}} cancelAuthPageListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {//点击sdk自带返回,关闭,其他方式登录(添加的自定义关闭按钮事件不会触发此回调)NSLog(@"====%@",resultDic);NSLog(@"----%@",error.description);} oneKeyLoginListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {//一键登录点击获取token回调//关闭页面,当Ui.manualDismiss = @(YES);时需要手动调用此方法关闭// [SVSDKHyVerify hideLoading];if (error==nil) {//获取token成功,开始调用token置换手机号接口NSLog(@"%@",resultDic);Ui.manualDismiss = @(YES);[SVSDKHyVerify finishLoginVcAnimated:YES Completion:^{//                SectionViewController * view = [[SectionViewController alloc] init];//                [self presentViewController:view animated:YES completion:^{////                }];}];}else{//获取token失败,可以自定义跳转到其他界面}}];
}-(void)svVerifyAuthPageViewDidLoad:(UIViewController *)authVC userInfo:(SVSDKHyProtocolUserInfo *)userInfo
{//授权页viewUIView * authpage = authVC.view;//1.授权页背景设为透明或半透明,作为弹窗的背景蒙层authpage.backgroundColor = UIColor.clearColor;//后面代码可以自己作处理```
}

修改授权页背景为图片
基于一键登录的拉起授权页功能,如果想要修改授权页的背景图片,来调整成符合自己app样式的背景。以下代码示例主要介绍如何修改授权页的背景图片,注意最后需要将背景图层置于所有图层最底部,具体实现如下:

-(void)login
{//创建一个Ui配置对象SVSDKHyUIConfigure * Ui = [SVSDKHyUIConfigure new];Ui.currentViewController = self;[SVSDKHyVerify setDelegate:self];[SVSDKHyVerify openAuthPageWithModel:Ui openAuthPageListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {if(error!=nil){//拉起授权页失败NSLog(@"%@",error.description);}else{//拉起授权页成功NSLog(@"成功");}} cancelAuthPageListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {//点击sdk自带返回,关闭,其他方式登录(添加的自定义关闭按钮事件不会触发此回调)NSLog(@"====%@",resultDic);NSLog(@"----%@",error.description);} oneKeyLoginListener:^(NSDictionary * _Nullable resultDic, NSError * _Nullable error) {//一键登录点击获取token回调//关闭页面,当Ui.manualDismiss = @(YES);时需要手动调用此方法关闭// [SVSDKHyVerify hideLoading];if (error==nil) {//获取token成功,开始调用token置换手机号接口NSLog(@"%@",resultDic);Ui.manualDismiss = @(YES);[SVSDKHyVerify finishLoginVcAnimated:YES Completion:^{//                SectionViewController * view = [[SectionViewController alloc] init];//                [self presentViewController:view animated:YES completion:^{////                }];}];}else{//获取token失败,可以自定义跳转到其他界面}}];
}
-(void)svVerifyAuthPageViewDidLoad:(UIViewController *)authVC userInfo:(SVSDKHyProtocolUserInfo *)userInfo
{//授权页viewUIView * authpage = authVC.view;//设置背景图UIImageView * imageBg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];imageBg.frame = CGRectMake(0, 0, authpage.bounds.size.width, authpage.bounds.size.height);[authpage addSubview:imageBg];UIButton * backButton = userInfo.backButton;//自带的backButton,在navBar上UIButton * loginButton = userInfo.loginButton;UIImageView * logoImageView  = userInfo.logoImageView;UILabel  * phoneLabel = userInfo.phoneLabel;UIButton * checkBox  = userInfo.checkBox;UITextView * privacyTextView = userInfo.privacyTextView;UILabel  * sloganLabel = userInfo.sloganLabel;//将背景图放置最底层imageBg.layer.zPosition = loginButton.layer.zPosition-1;//后面代码可以自己作处理```
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌地图Google JS API 实现

demo实现 实现源码&#x1f447; // 谷歌地图Google JS API 实现 <template><div class"myMap"><gmp-map :center"center" zoom"15" map-id"ab6b6643adfa1a70"><gmp-advanced-markerv-for"(res, index) in…

MySQL | JDBC连接数据库详细教程【全程干货】

文章目录 一、什么是JDBC&#xff1f;二、JDBC工作原理三、使用JDBC连接MySQL数据库【✔】1、安装对应数据驱动包2、将jar包导入项目中3、编写代码连接数据库【⭐】1️⃣ 创建数据源2️⃣ 和数据库建立网络连接3️⃣ 构造SQL语句4️⃣ 执行SQL语句5️⃣ 断开连接&#xff0c;释…

nginx安装演示(离线安装,直接安装在Linux中)

文章目录 1、创建文件夹 tool / nginx2、把安装文件放到 /opt/tool/nginx 目录下面3、yum install gcc4、yum install gcc-c5、tar -zxvf pcre-8.37.tar.gz6、./configure7、make8、make install9、tar -zxvf openssl-1.0.1t.tar.gz10、./config11、/config 1、创建文件夹 tool…

解锁 Apple M1/M2 上的深度学习力量:安装 TensorFlow 完全指南

前言 随着 Apple M1 和 M2 芯片的问世&#xff0c;苹果重新定义了笔记本电脑和台式机的性能标准。这些强大的芯片不仅适用于日常任务&#xff0c;还能处理复杂的机器学习和深度学习工作负载。本文将详细介绍如何在 Apple M1 或 M2 芯片上安装和配置 TensorFlow&#xff0c;助你…

Java 线程池之SingleThreadExecutor

引言 在并发编程中&#xff0c;线程池是一种常用的资源管理模式&#xff0c;能够有效地管理和复用线程资源&#xff0c;提高系统性能和资源利用率。Java 提供了多种类型的线程池&#xff0c;其中 SingleThreadExecutor 是一种特殊的线程池实现&#xff0c;它只有一个工作线程&…

人脉社群平台微信小程序系统源码

&#x1f31f;【解锁人脉新纪元&#xff1a;探索人脉社群平台小程序】&#x1f31f; &#x1f680;【开篇&#xff1a;为什么我们需要人脉社群平台小程序&#xff1f;】&#x1f680; 在这个快节奏的时代&#xff0c;人脉不再是简单的名片交换&#xff0c;而是通往成功与机遇…

昇思25天学习打卡营第17天|ChatGLM-6B聊天demo

一、简介&#xff1a; 本次实验&#xff0c;基于MindNLP和ChatGLM6B模型搭建一个小的聊天应用&#xff0c;ChatGLM6B 是基于 GLM-4 模型开发的开源对话机器人&#xff0c;拥有 62 亿个参数&#xff0c;能够进行自然流畅的语言交流。在对话中&#xff0c;ChatGLM6B 可以胜任文案…

我关于Excel使用点滴的笔记

本篇笔记是我关于Excel使用点滴的学习笔记&#xff0c;摘要和地址链接列表。临时暂挂&#xff0c;后面可能在不需要时删除。 (笔记模板由python脚本于2024年06月28日 12:23:32创建&#xff0c;本篇笔记适合初通Python&#xff0c;熟悉六大基本数据(str字符串、int整型、float浮…

(2024)KAN: Kolmogorov–Arnold Networks:评论

KAN: Kolmogorov–Arnold Networks: A review 公和众与号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. MLP 也有可学习的激活函数 2. 标题的意义 3. KAN 是具有样条基激活函数的 M…

Python使用多线程并发测试FastDFS文件上传、删除

代码如下&#xff1a; # main.py import functools import itertools import json import os import sys import time from pathlib import Path from typing import Callable, TypeVar# pip install asynctor httpx rich fastdfs-client from asynctor import bulk_gather, r…

深入理解Symfony调试工具:从原理到实践

引言 Symfony&#xff0c;作为一个功能强大的PHP框架&#xff0c;提供了一整套工具来帮助开发者在开发过程中进行调试。其中&#xff0c;调试工具是Symfony生态中不可或缺的一部分&#xff0c;它允许开发者实时查看应用程序的状态&#xff0c;包括但不限于变量值、服务调用、事…

python通过COM Interface控制CANoe

python通过COM Interface控制CANoe 介绍打开示例工程python代码示例介绍 通过python可以控制CANoe的启动和停止等其他操作,在做高阶的自动化项目时可以用到。 打开示例工程 python代码示例 # --------------------------------------------------------------------------…

卫星网络——Walker星座简单介绍

一、星座构型介绍 近年来&#xff0c;随着卫星应用领的不断拓展&#xff0c;许多任务已经无法单纯依靠单颗卫星来完成。与单个卫星相比&#xff0c;卫星星座的覆盖范围显著增加&#xff0c;合理的星座构型可以使其达到全球连续覆盖或全球多重连续覆盖&#xff0c;这样的特性使得…

Redis三种模式——主从复制、哨兵模式、集群

一、Redis模式 Redis有三种模式&#xff1a;分别是主从同步/复制、哨兵模式、Cluster 主从复制&#xff1a;主从复制是高可用Redis的基础&#xff0c;哨兵和群集都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简…

使用Python进行计算机视觉

哈喽,大家好,我是木头左! 简介 计算机视觉是一门研究如何使机器“看”世界的科学。它涉及到图像处理、模式识别、机器学习等多个领域。近年来,随着深度学习的发展,计算机视觉取得了显著的进步。Python作为一门广泛应用于数据科学和人工智能的编程语言,为计算机视觉提供了…

关于ORACLE单例数据库中的logfile的切换、删除以及添加

一、有关logfile的状态解释 UNUSED&#xff1a; 尚未记录change的空白group&#xff08;一般会出现在loggroup刚刚被添加&#xff0c;或者刚刚使用了reset logs打开数据库&#xff0c;或者使用clear logfile后&#xff09; CURRENT: 当前正在被LGWR使用的gro…

深入理解【 String类】

目录 1、String类的重要性 2、常用方法 2、1 字符串构造 2、2 String对象的比较 2、3 字符串查找 2、4字符转换 数值和字符串转换&#xff1a; 大小写转化&#xff1a; 字符串转数组&#xff1a; 格式转化&#xff1a; 2、5 字符串替换 2、6字符串拆分 2、7 字符串…

Mysql中间件和高可用

文章目录 一、MySQL中间件代理服务器MycatMycat应用场景Mycat部署 实现读写分离 二、MySQL高可用高可用解决方案MHA高可用实现MHA 一、MySQL中间件代理服务器 数据库主要分为两大类&#xff1a;关系型数据库与 NoSQL 数据库&#xff08;非关系型数据库&#xff09;。 数据库主…

ATFX汇市:美国大非农数据来袭,美指与欧元或迎剧烈波动

ATFX汇市&#xff1a;今日20:30&#xff0c;美国劳工部将公布6月非农就业报告&#xff0c;其中新增非农就业人口数据最受关注&#xff0c;前值为27.2万人&#xff0c;预期值19万人&#xff0c;预期降幅高达8.2万人。如果公布值确实如预期一般&#xff0c;美联储降息预期将增强&…

以太网协议介绍——UDP

注&#xff1a;需要先了解一些以太网的背景知识&#xff0c;方便更好理解UDP协议、 以太网基础知识一 以太网基础知识二 UDP协议 UDP即用户数据报协议&#xff0c;是一种面向无连接的传输层协议&#xff0c;属于 TCP/IP 协议簇的一种。UDP具有消耗资源少、通信效率高等优点&a…