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

//自定义授权页面
-(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);
}];

}


中关村科金
136 声望13 粉丝

北京中关村科金技术有限公司(简称“中关村科金”)是国内领先的对话式AI技术解决方案提供商,成立于2014年,注册资本14亿元,总部位于北京,在上海、重庆、深圳、杭州、成都等地设有分支机构,公司规模近千人,其...