如何在 iOS 中创建一个非常自定义的 uibutton,如 UITableViewCellStyleSubtitle
Posted
技术标签:
【中文标题】如何在 iOS 中创建一个非常自定义的 uibutton,如 UITableViewCellStyleSubtitle【英文标题】:How to create a very custom uibutton like UITableViewCellStyleSubtitle in iOS 【发布时间】:2011-05-23 00:41:45 【问题描述】:我想创建一个带有类似于 UITableViewCellStyleSubtitle 的图像、标题和描述的按钮。我想以编程方式执行此操作。
有谁知道我如何做到这一点?
【问题讨论】:
【参考方案1】:您可以创建 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];
在上面的代码中,您可以根据需要调整框架。设置完成后,只需像往常一样在视图/视图控制器中创建按钮并调用上面的方法:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 0, 300, 200);
[myButton setupButton:myTitle image:myImage description:myDesc];
【讨论】:
【参考方案2】:继承 UIControl 并覆盖 drawRect
和/或添加子视图以创建所需的外观。
【讨论】:
以上是关于如何在 iOS 中创建一个非常自定义的 uibutton,如 UITableViewCellStyleSubtitle的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 如何在没有第三方框架的情况下在 Swift 中创建自定义动画横幅
如何在 Mapbox iOS SDK 3.0 版中创建自定义图像标记?
iOS 开发 - 如何使用自定义 Table View Controller 显示在 Interface Builder 中创建的静态单元格?