秒验 iOS端授权页添加自定义按钮

如何添加自定义控件

基于一键登录的拉起授权页面功能,如果想要在我们的授权页面中添加自定义组件,例如使用其他方式登录的按钮,来实现其他方式登录功能,为用户呈现更多选择登录的方式。本文介绍如何在一键登录授权界面中实现添加自定义控件功能,实现方式如下:

复制代码
//自定义授权页面
-(void)setupAuthPageCustomStyle:(UIViewController *)authVC userInfo:(SVSDKHyProtocolUserInfo *)userInfo
{
    //授权页view
    UIView * authPageView = authVC.view;

    //中间可以对原有授权页上的按钮文字等作自定义操作

    ```

    //***添加自定义控件****
    // 自定义返回按钮
    UIButton *customBackButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [customBackButton setImage:[UIImage imageNamed:@"fh"] forState:UIControlStateNormal];
    [customBackButton setTitle:@"返回" forState:UIControlStateNormal];
    [customBackButton setTitleColor:[UIColor colorWithRed:35/255.0 green:35/255.0 blue:38/255.0 alpha:1/1.0] forState:UIControlStateNormal];
    customBackButton.titleLabel.font = [UIFont fontWithName:@"PingFangSC-Regular" size:18];
    [customBackButton addTarget:self.target action:@selector(customBackAction:) forControlEvents:UIControlEventTouchUpInside];
    [authPageView addSubview:customBackButton];

    UIView *bottomView = [[UIView alloc] init];
    [authPageView addSubview:bottomView];

    UILabel *mLbl = [[UILabel alloc] init];
    mLbl.textAlignment = NSTextAlignmentCenter;
    mLbl.font = [UIFont fontWithName:@"PingFangSC-Regular" size:13];
    mLbl.textColor = [UIColor colorWithRed:184/255.0 green:184/255.0 blue:188/255.0 alpha:1/1.0];
    mLbl.text = @"其他方式登录";
    [mLbl sizeToFit];

    [bottomView addSubview:mLbl];

    UIButton *wxBtn = [[UIButton alloc] init];
    [wxBtn setBackgroundImage:[UIImage imageNamed:@"wc"] forState:UIControlStateNormal];
    [wxBtn addTarget:self.target action:@selector(weixinLoginAction:) forControlEvents:UIControlEventTouchUpInside];
    [bottomView addSubview:wxBtn];

    UIButton *zhBtn = [[UIButton alloc] init];
    [zhBtn setBackgroundImage:[UIImage imageNamed:@"zh"] forState:UIControlStateNormal];
    [zhBtn addTarget:self.target action:@selector(usernameLoginAction:) forControlEvents:UIControlEventTouchUpInside];
    [bottomView addSubview:zhBtn];

    //布局(可以进行竖屏和横屏的布局):自定义控件和授权页基本控件可以放一起统一布局即可

    ```
    //自定义控件布局(这里使用的是第三方布局控件Masonry)
    [customBackButton mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.width.height.mas_equalTo(50);
        make.left.mas_equalTo(15);
        make.top.mas_equalTo(15);
    }];

    // bottomView
    [bottomView mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.bottom.mas_equalTo(privacyTextView.mas_top);
        make.centerX.mas_equalTo(0);
        make.width.mas_equalTo(SVD_ScreenWidth);
        make.height.mas_equalTo(70+mLbl.bounds.size.height);
    }];

    [mLbl mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.bottom.mas_equalTo(wxBtn.mas_top).offset(-10);
        make.centerX.mas_equalTo(0);
    }];

    [wxBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.bottom.mas_equalTo(-10);
        make.centerX.mas_equalTo(-50);
        make.width.height.mas_equalTo(48);
    }];

    [zhBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(wxBtn);
        make.centerX.mas_equalTo(50);
        make.width.height.mas_equalTo(48);
    }];

}
相关推荐
翊谦1 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
晓晓hh1 小时前
JavaSE学习——迭代器
java·开发语言·学习
查古穆1 小时前
栈-有效的括号
java·数据结构·算法
Java面试题总结2 小时前
Spring - Bean 生命周期
java·spring·rpc
硅基诗人2 小时前
每日一道面试题 10:synchronized 与 ReentrantLock 的核心区别及生产环境如何选型?
java
014-code2 小时前
String.intern() 到底干了什么
java·开发语言·面试
摇滚侠2 小时前
JAVA 项目教程《苍穹外卖-12》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·vue.js·node.js
楚国的小隐士2 小时前
为什么说Rust是对自闭症谱系人士友好的编程语言?
java·rust·编程·对比·自闭症·自闭症谱系障碍·神经多样性
春花秋月夏海冬雪3 小时前
代码随想录刷题 - 贪心Part1
java·算法·贪心·代码随想录
野生技术架构师3 小时前
2026年牛客网最新Java面试题总结
java·开发语言