[英]Customize UIButton Custom TableCell from Controller Class
我有一个导入到Controller中的自定义UI表单元格代码。 我正在Controller内进行一些更改(更改边框,颜色等)。 我在XIB中连接了ref出口,但是当我尝试在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;
}
控制器
#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;
你应该有一个自我。 或_,因为它们是自动综合属性。。此外,您的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 = ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.