2

如何更改 Parse 中注册按钮的(背景)颜色s PFLoginViewController 中注册按钮的(背景)颜色?

我努力了:

PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init];
logInViewController.fields = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton | PFLogInFieldsPasswordForgotten | PFLogInFieldsSignUpButton ;

logInViewController.logInView.signUpButton.backgroundColor = [UIColor redColor]; 

这是我的结果:

在此处输入图像描述

如何正确设置颜色?

4

2 回答 2

8

将背景图片更改为 nil,然后设置按钮的背景颜色:

[logInViewController.logInView.signUpButton setBackgroundImage:nil
                                       forState:UIControlStateNormal];
logInViewController.logInView.logInButton.backgroundColor = [UIColor redColor];
于 2014-08-29T07:55:11.977 回答
0

我无法直接更改按钮的颜色。通常,我会通过setTintColor:. 我能够通过使用完成块实际更改背景图像来实现更改的背景颜色,如下所示:

        PFLogInViewController *login = [[PFLogInViewController alloc]init];
        login.delegate = self;
        [self presentViewController:login animated:YES completion:^{
            [login.logInView.signUpButton setBackgroundImage:[UIImage imageNamed:@"restBtn@2x"] forState:UIControlStateNormal];
            [login.logInView.signUpButton setBackgroundImage:[UIImage imageNamed:@"restBtn@2x"] forState:UIControlStateHighlighted];
        }];

只需确保您已在项目中的某处包含所需的红色按钮图像,以便名称解析起作用。

编辑:正如 Dmitry 所说,为每个对您重要的 UIButton 控件状态配置所需的图像可能是明智的。此外,我曾希望我可以通过 UIControlStates 的集合,例如

[login.logInView.signUpButton setBackgroundImage:[UIImage imageNamed:@"restBtn@2x"] forState:UIControlStateHighlighted|UIControlStateNormal];

对于单个按钮和图像组合,但它似乎不起作用。

于 2013-09-22T22:17:31.353 回答