2013-08-29 45 views
0

我有一個AuthButtons.h標題:建立一個子類UIButton的處理看起來和感覺

#import <UIKit/UIKit.h> 

@interface AuthButtons : UIButton 

@property (nonatomic, weak) UIColor *backgroundColor; 


@end 

實現AuthButtons.m類如下:

#import "AuthButtons.h" 

@implementation AuthButtons 

- (void)setBackgroundColor:(UIColor *)backgroundColor 
{ 
    backgroundColor = [UIColor blueColor]; 
} 

- (UIColor *)backgroundColor 
{ 
    return [UIColor whiteColor]; 
} 


- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

然後在我的viewcontroller.m類我有:

@interface ViewController() 

@property (nonatomic, weak) AuthButtons *registerButton; 


@end 


... 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    _registerButton = [AuthButtons buttonWithType:UIButtonTypeSystem]; 
    [_registerButton setTitle:@"Register" forState:UIControlStateNormal]; 
    [_registerButton setBackgroundColor:[UIColor whiteColor]]; 
    _registerButton.frame = CGRectMake(0.0, 0.0, self.screenWidth/2.0, 100.0); 

    [_registerButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 
} 

當我嘗試創建按鈕時,它不斷崩潰。我錯過了什麼?

回答

1

使用強效的,而不是弱(使用啓用ARC類的按鈕時,不知道是否它的一個壞習慣中我一直使用強類型: - ))

@property (nonatomic, strong) AuthButtons *registerButton; 

,並添加爲子視圖([self.view addSubview:_registerButton])。希望你在Implemeted一個類叫做-(void)buttonPressed:(id)sender功能。

+0

仍然在該行崩潰,其他事情必須在 – cdub

+0

@ chris ..什麼錯誤你得到? –

+0

nm,我有一個錯位[外部評論 – cdub

2

您的按鈕比較薄弱,沒有添加作爲一個子視圖,以便其釋放馬上

相關問題