0

コントローラーにインポートされるカスタム UI テーブル セル コードがあります。コントローラー内で、いくつかの変更を加えようとしています (境界線、色の変更など)。XIB で ref アウトレットを接続しましたが、コントローラーで変更を加えようとしても何も起こりません。ここに私のController.mがあります:

 @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
4

1 に答える 1

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 はキャップで開始しないでください。簡単なタイプミス:)

 // 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 = ...
于 2013-10-16T20:38:55.750 に答える