我有一个导入到 Controller 中的自定义 UI 表单元格代码。在 Controller 中,我希望进行一些更改(更改边框、颜色等)。我在 XIB 中连接了 ref socket ,但是当我尝试在 Controller 中进行更改时,没有任何反应。这是我的 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
最佳答案
嗯,我相信这与您查找是否是 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;
你要么应该有一个 self 。或 _ 在变量前面,考虑到它们是自动合成的属性。 另外,你的BorderWidth和CornerRadius不应该是大写的,它们是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 = ...
关于ios - 从 Controller 类自定义 UIButton 自定义 TableCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411523/