繁体   English   中英

代码可在iPhone模拟器上运行,但不能在设备上运行

[英]Code works on iPhone simulator but not on the device

我正在使用以下代码在ipad应用程序中的两个不同外观/主题之间进行切换。 该代码可以在模拟器中正常运行,但不能在设备上运行。 任何人都可以就为什么会发生这种情况提出任何建议吗?

    if (skin == 1) {

            UIImage* skinSelector = [UIImage imageNamed:@"button1.png"];
            self.imgSkinSelector = [[UIImageView alloc] initWithImage:skinSelector];
            self.imgSkinSelector.center = CGPointMake(88, 88);
            self.imgSkinSelector.alpha = 0;
            [self.landscape addSubview:self.imgSkinSelector];


    }

    else {

            UIImage* skinSelector2 = [UIImage imageNamed:@"button2.png"];
            self.imgSkinSelector = [[UIImageView alloc] initWithImage:skinSelector2];
            self.imgSkinSelector.center = CGPointMake(74, 74);
            [self.landscape addSubview:self.imgSkinSelector];
    //      self.skinSelector.hidden = 1;


    }

我曾经遇到一个问题,其中模拟器正确地选择了资源(图像)而不是设备(iPhone)。

至少在我看来,这是图像名称的情况。 确保图像名称与代码中的名称完全相同(button.png / Button.png等)

只是个猜测...

可能会使您的图像出现问题,它在模拟器中显示正常,但在设备中却没有...只是尝试4次尝试使用其他图像代替它。 谢谢

尝试这个:

首先,不要在每次要更改主题时分配imgSkinSelector 仅在您的viewDidLoad / loadView函数中分配/初始化一次,如下所示:

self.imgSkinSelector = [[UIImageView alloc] init];

然后在您要更改主题的函数中,使用以下代码:

if (skin == 1) {

[self.imgSkinSelector setImage:[UIImage imageNamed:@"button1.png"]];
self.imgSkinSelector.center = CGPointMake(88, 88);
self.imgSkinSelector.alpha = 0;
[self.landscape addSubview:self.imgSkinSelector];

}其他{

[self.imgSkinSelector setImage:[UIImage imageNamed:@"button2.png"]];
self.imgSkinSelector.center = CGPointMake(74, 74);
[self.landscape addSubview:self.imgSkinSelector];

}

希望这对您有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM