我正在慢慢开发一个自定义按钮(同时学习如何实现类等)。
我有一个 ViewController,它导入一个 SuperButton.h (UIControl),然后创建一个 SuperButton 的实例。(这有效,正如 NSLog 所证明的那样。)
但我无法在 SuperButton 中获得显示标签的方法。我认为这可能与“.center”值或“addSubview”命令有关?
我将衷心感谢您的帮助。谢谢。
这是我的 SuperButton.m 代码:
#import "SuperButton.h"
@implementation SuperButton
@synthesize firstTitle;
@synthesize myLabel;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void) shoutName{
NSLog(@"My name is %@", firstTitle);
self.backgroundColor = [UIColor blueColor];
CGRect labelFrame = CGRectMake(0.0f, 0.0f, 100.0f, 50.0f);
self.myLabel = [[UILabel alloc] initWithFrame:labelFrame];
self.myLabel.text = @"Come on, don't be shy.";
self.myLabel.font = [UIFont italicSystemFontOfSize:14.0f];
self.myLabel.textColor = [UIColor grayColor];
self.myLabel.center = self.center;
[self addSubview:self.myLabel];
}
这是我的 ViewController 中的代码:
- (void) makeButton{
SuperButton *button1 = [[SuperButton alloc] init];
button1.firstTitle = @"Mr. Ploppy";
[button1 shoutName];
}
(编辑:)以防万一,这里是 SuperButton.h 代码:
#import <UIKit/UIKit.h>
@interface SuperButton : UIControl
@property (nonatomic, strong) NSString *firstTitle;
@property (nonatomic, strong) UILabel *myLabel;
- (void) shoutName;
@end