.xib在iOS 4.3上没有正确加载,5.0上没问题?

时间:2012-06-26 14:04:52

标签: ios xcode uiview ios4 uiviewcontroller

我遇到了一个棘手的故障。

我有一个.xib,它是在我创建一个新的UIViewController子类时由XCode创建的。它有很多元素,包括一些UIButton s,一堆UILabel s,一个小UIView,其中包含一些其他视图,以及一个UIImageView包含一个 - 透明图像。

viewDidLoad中,我使用图案图像将UIImageView的背景颜色设置为颜色。

当我在模拟器或iPhone 4(都运行iOS 5.1)上显示此视图控制器时,一切顺利;图案背景显示,所有交互工作,等等。

然而,当我在iOS 4.3上进行测试时(无论是在模拟器中还是在我的iPod Touch 2G上),似乎我试图根据插座操作的所有内容(例如[self.myBackgroundImageView setBackgroundColor...]或{{1} })根本不起作用。

当视图显示时,我正在做的唯一甚至非常不寻常的事情就是这样,这使得它在弹出窗口中的大小正确:

[self.mySegmentedControl setEnabled:NO]

我真的想不出任何可能是问题的东西。我已经清理,重建了所有这些东西。仍然没有骰子。

还有其他人遇到过这个吗?

ott:

按请求

更新

在-viewDidLoad:

的末尾添加了以下内容:
- (void) viewWillAppear:(BOOL)animated {        
    CGSize size = CGSizeMake(320, 480); // size of view in popover
    self.contentSizeForViewInPopover = size;

    [super viewWillAppear:animated];
}

...输出结果为:

NSLog(@"self.myBackgroundImageView = %@ | %@", [self.myBackgroundImageView description], [[self.myBackgroundImageView backgroundColor] description]);

所以......不是零。不知道这里的故事是什么。

更新2: 似乎在iOS 4.3中禁用UISegmentedControl并不会使其显示变暗,因此这就是该部分的内容。至于背景图案图像:我找不到对此的确认,但我开始认为这是iOS 4中的一个错误,它使用模式图像UIColor在UIImageView上无法正确显示背景颜色。如果我使UIImageView具有清晰的背景并将模式图像UIColor作为主视图的背景,它可以正常工作。如果有人想出一个解决方法,或确认这确实是一个iOS 4错误,那将非常感激。

0 个答案:

没有答案