Iphone 什么可以覆盖viewDidLoad中的UIButton属性?
我加载一些默认值,并在我的Iphone 什么可以覆盖viewDidLoad中的UIButton属性?,iphone,ios,objective-c,uibutton,viewdidload,Iphone,Ios,Objective C,Uibutton,Viewdidload,我加载一些默认值,并在我的viewDidLoad方法中设置ui按钮自定义设置。默认值加载良好。但是,ui按钮无法进行自定义 当我将完全相同的ui按钮代码放在动作按钮中以触发定制时,效果非常好。我在.xib中将按钮更改为“自定义” 我觉得有什么事情发生了,这就是为什么按钮不启动与他们的mods - (void)viewDidLoad { lifeTotal.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"bankK
viewDidLoad
方法中设置ui按钮
自定义设置。默认值加载良好。但是,ui按钮
无法进行自定义
当我将完全相同的ui按钮
代码放在动作按钮中以触发定制时,效果非常好。我在.xib中将按钮更改为“自定义”
我觉得有什么事情发生了,这就是为什么按钮不启动与他们的mods
- (void)viewDidLoad {
lifeTotal.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"bankKey"];
floatTot = [[NSUserDefaults standardUserDefaults] floatForKey:@"floatKey"];
dollaInt = [[NSUserDefaults standardUserDefaults] integerForKey:@"intKey"];
hourlyRate.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"rateKey"];
rate = [[NSUserDefaults standardUserDefaults] integerForKey:@"rateInt"];
NSArray *buttons = [NSArray arrayWithObjects: self.start, self.stop, self.fbButton, self.clearLifeTotal,nil];
for(UIButton *btn in buttons)
{
// Set the button Text Color
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
// Set default backgrond color
[btn setBackgroundColor:[UIColor blackColor]];
// Round button corners
CALayer *btnLayer = [btn layer];
[btnLayer setMasksToBounds:YES];
[btnLayer setCornerRadius:5.0f];
// Apply a 1 pixel, black border around Buy Button
[btnLayer setBorderWidth:1.0f];
[btnLayer setBorderColor:[[UIColor blackColor] CGColor]];
}
[super viewDidLoad];
}
您是否尝试过在代码之前将[super viewDidLoad]放在方法的顶部?尝试用此替换for循环,并检查:
for (UIButton *btn in self.view.subviews)
{
if (btn == self.start || btn == self.stop || btn == self.fbButton || btn == self.clearLifeTotal)
{
// Set the button Text Color
[btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
// Set default backgrond color
[btn setBackgroundColor:[UIColor blackColor]];
// Round button corners
CALayer *btnLayer = [btn layer];
[btnLayer setMasksToBounds:YES];
[btnLayer setCornerRadius:5.0f];
// Apply a 1 pixel, black border around Buy Button
[btnLayer setBorderWidth:1.0f];
[btnLayer setBorderColor:[[UIColor blackColor] CGColor]];
}
}
很抱歉,快速查看一下
UIButton.h
会发现viewDidLoad没有显示在UIButton上。因此,它没有被调用
您正在查找
-(id)initWithFrame:(CGRect)frame
或-(id)initWithCoder:(NSCoder*)aDecoder
您是否尝试过放置[super viewDidLoad]代码>作为方法的第一行?尝试将代码放在ViewDidDisplay中。在viewDidLoad中设置属性应该可以。还有别的事情。视图控制器是如何加载的?您可以尝试删除UIButtons并将其重新链接到xib?当您使用NSArray*buttons=…
在行上设置断点并键入po self.start
,po self.clearLifeTotal
等时,返回值是多少?另外,您的XIB文件是将按钮链接到您声明的实例变量还是@properties?