カスタムボタンをゆっくりと開発しています(クラスの実装方法などを学びながら)。
SuperButton.h (UIControl) をインポートし、SuperButton のインスタンスを作成する ViewController があります。(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