2013-10-16 203 views
0

我有一個導入到控制器的自定義UI表格單元代碼。在控制器內,我正在尋找一些改變(改變邊界,顏色等)。我在XIB中連接了ref插座,但是當我嘗試在Controller中進行更改時,沒有任何反應。這裏是我的Controller.m或者:從控制器類自定義UIButton自定義表格單元

@synthesize btnExpDate; 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

//detect iOS 7 
NSString *ver = [[UIDevice currentDevice] systemVersion]; 
float ver_float = [ver floatValue]; 

if (ver_float >= 7.0) { 

    // adds border to borderless button for iOS 7 
    btnExpDate.layer.BorderWidth = 1; 
    btnExpDate.layer.CornerRadius = 4; 
    btnExpDate.layer.borderColor = [UIColor colorWithRed:230.0/255.0 green:230.0/255.0 blue:230.0/255.0 alpha:1.0].CGColor; 

} 

或者Controller.h

#import <UIKit/UIKit.h> 
@class PullInventoryAddLotsTableCell; 

@interface PullInventoryAddLotController : JCBaseController { 
NSMutableArray* _newlyAddedLots; 
} 

@property (nonatomic, retain) IBOutlet UIButton* btnExpDate; 

@end 
+0

當您鍵入NSLog(@「%@」,self.btnExpDate)時會顯示什麼內容。在viewDidLoad()中? – klefevre

回答

1

嗯,我相信這與您發現的部分做的,如果是的iOS 7或不...

//detect iOS 7 
NSString *ver = [[UIDevice currentDevice] systemVersion]; 
float ver_float = [ver floatValue]; 

if (ver_float >= 7.0) { 

這不是你如何知道它是否是iOS ..要知道這一點,你應該使用:

這是Apple使用的, iOS的7 UI轉換指南

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { 
    // Load resources for iOS 6.1 or earlier 
} else { 
    // Load resources for iOS 7 or later 
} 

還發現,與這些

// adds border to borderless button for iOS 7 
btnExpDate.layer.BorderWidth = 1; 
btnExpDate.layer.CornerRadius = 4; 
btnExpDate.layer.borderColor = [UIColor colorWithRed:230.0/255.0 green:230.0/255.0 blue:230.0/255.0 alpha:1.0].CGColor; 

打交道時,您應該有一個自我。或_在你的變量前面,因爲它們是自動合成的屬性。 另外,你的BorderWidth和CornerRadius不應該是caps的開始,它們是borderWidth和cornerRadius。一個簡單的錯字:)

// adds border to borderless button for iOS 7 
self.btnExpDate.layer.borderWidth = 1; // OR _btnExpDate.layer.borderWidth = 1; 
self.btnExpDate.layer.cornerRadius = 4; // OR _btnExpDate.layer.cornerRadius = 4; 
self.btnExpDate.layer.borderColor = [UIColor colorWithRed:230.0/255.0 green:230.0/255.0 blue:230.0/255.0 alpha:1.0].CGColor; // OR _btnExpDate.layer.borderColor = ... 
+0

我剛剛創建了一個自定義按鈕。 – Bachzen

+0

這很好:)有時自定義按鈕更好。 – user2277872