我想创建一个按钮,其图像,标题和描述类似于UITableViewCellStyleSubtitle。我想以编程方式执行此操作。
有谁知道我怎么能做到这一点?
答案 0 :(得分:6)
您可以创建UIButton类的类别。这是为您准备的准系统:
在.h文件中:
@interface UIButton (YourCategoryName)
- (void)setupButton:(NSString *)title image:(UIImage *)image description:(NSString *) description;
@end
在.m文件中:
@implementation UIButton(YourCategoryName)
- void)setupButton:(NSString *)title image:(UIImage *)image description:(NSString *) description {
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 0, 200, 50)]];
[self addSubview:titleLabel];
[titleLabel release];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:image];
[self addSubview:imageView];
[imageView release];
UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 60, 200, 100)];
[self addSubview:descriptionLabel];
[descriptionLabel release];
}
在上面的代码中,您可以根据需要调整帧。设置完成后,只需在view / viewcontroller中创建正常的按钮,然后调用上面的方法:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 0, 300, 200);
[myButton setupButton:myTitle image:myImage description:myDesc];
答案 1 :(得分:2)
子类UIControl并覆盖drawRect
和/或添加子视图以创建所需的外观。