Pad*_*215 4 objective-c uibutton ios cagradientlayer
我正在尝试创建一个渐变背景的UIButton.我选择时工作正常,但按钮不突出显示(默认行为是按钮变暗).
这是我的按钮:
-(UIButton *)createLoginButtonForSize:(CGSize)size {
UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeCustom];
loginButton.translatesAutoresizingMaskIntoConstraints = FALSE;
loginButton.layer.cornerRadius = 8;
loginButton.titleLabel.text = @"Login";
[loginButton addTarget:self action:@selector(loginCheck:) forControlEvents:UIControlEventTouchUpInside];
[loginButton addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[loginButton(WIDTH)]"
options:0
metrics:@{@"WIDTH": [NSNumber numberWithFloat:size.width]}
views:NSDictionaryOfVariableBindings(loginButton)]];
[loginButton addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[loginButton(HEIGHT)]"
options:0
metrics:@{@"HEIGHT": [NSNumber numberWithFloat:size.height]}
views:NSDictionaryOfVariableBindings(loginButton)]];
CAGradientLayer *layer = [UIColor greenGradient];
layer.frame = CGRectMake(0, 0, size.width, size.height);
layer.cornerRadius = 8;
[loginButton.layer insertSublayer:layer atIndex:0];
return loginButton;
}
Run Code Online (Sandbox Code Playgroud)
我需要自己处理突出显示吗?
是的,您需要自己处理突出显示.您应该查看Jeff Lamarche非常容易使用的iPhone Gradient Buttons项目,而不是自己编写代码.它完全符合您的要求.它只是2个文件,因此很容易合并到您的项目中:
http://code.google.com/p/iphonegradientbuttons/source/browse/trunk/Classes/GradientButton.h http://code.google.com/p/iphonegradientbuttons/source/browse/trunk/Classes/GradientButton.m
以下截图取自杰夫博客讨论该项目.

| 归档时间: |
|
| 查看次数: |
4034 次 |
| 最近记录: |