Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 什么可以覆盖viewDidLoad中的UIButton属性?_Iphone_Ios_Objective C_Uibutton_Viewdidload - Fatal编程技术网

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?