我有一个默认的iOS UIButton(在故事板中)。
我想更改它(删除border-radius,添加实线边框,更改背景等)。我应该在哪里写代码?我应该使用哪种方法?我应该导入哪些课程?
答案 0 :(得分:2)
通过在Interface Builder中为按钮类型选择custom
,您可以完成大部分(如果不是全部)操作。如果这不能完成所有事情,您可以通过代码设置所有这些:
确保#import <QuartzCore/QuartzCore.h>
文件中有.m
。
设置属性(基于this SO answer):
float borderWidth = ...;
UIColor *borderColor = ...; // create the color you want
[[myButton layer] setBorderWidth:borderWidth];
[[myButton layer] setBorderColor:borderColor.CGColor];
您可以以类似的方式浏览所需的所有按钮属性。 (
答案 1 :(得分:0)
在我的简单代码中,我有类似的东西:
@property (nonatomic, strong) UIButton *rssButton;
然后我在实现中定义了这个按钮:
- (UIButton *)rssButton {
if(_rssButton == nil) {
_rssButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
_rssButton.frame = CGRectMake(60, 200, 200, 40);
[_rssButton setTitle:@"Get newest RSS article" forState:UIControlStateNormal];
_rssButton.titleLabel.textColor = [UIColor colorWithRed:0.294 green:0.553 blue:0.886 alpha:1];
_rssButton.backgroundColor = [UIColor whiteColor];
_rssButton.layer.borderColor = [UIColor blackColor].CGColor;
_rssButton.layer.borderWidth = 0.5f;
_rssButton.layer.cornerRadius = 10.0f;
[_rssButton addTarget:self action:@selector(getDataFromRSS) forControlEvents:UIControlEventTouchUpInside];
}
return _rssButton;
}
然后在主视图中添加:
[self.view addSubview:self.rssButton];
答案 2 :(得分:0)
您需要将属性定义更改为:
@property (nonatomic, strong) IBOutlet UIButton *rssButton;
将您的UIButton对象从故事板连接到此属性,然后您可以通过代码更改对象(假设您在同一个控制器中执行此操作)
如果已在故事板中定义该按钮,请删除您在该视图中添加该按钮的最后一行