转移到XCode 5和iOS7基本SDK之后,我的应用程序中的某些UI小部件在iOS7设备上仍然看起来像iOS6样式(渐变,框架)。在适用于iOS7的等效模拟器上不会发生这种情况。并非所有小部件都发生这种情况,UIDocumentInteractionController的弹出窗口看起来像设备上的iOS7,但UIPopoverController并非如此。重命名文件的键盘也显示了模拟器和设备之间的这种差异。
iOS如何确定UI元素的视觉样式?它是基于静态链接库还是在运行时确定的东西?我已经尝试从设备上完全清除应用程序,但是没有任何变化。
视网膜iPad模拟器:UIPopoverController
具有iOS 7的iPad第三代:UIPopoverController
在这种情况下,代码非常简单,无需自定义渲染或布局。
self.poController = [[UIPopoverController alloc] initWithContentViewController:audioCopyController];
[audioCopyController showDoneButton:NO];
audioCopyController.view.frame = CGRectMake(0,0,350,250);
_poController.popoverContentSize = audioCopyController.view.bounds.size;
_poController.delegate = self;
[_poController presentPopoverFromRect:view.audiocopyButton.frame
inView:view
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
我在这里先向您的帮助表示感谢。
好的,我发现了问题所在。大卫的建议让我开始思考。
我要同时维护多个应用程序,其中一个很老。XCode5中新的Interface Builder打破了旧应用程序中许多字段的透明性,因此我将XCode4与XCode5放在一个单独的安装文件夹中。看来我的XCode5项目仍然以某种方式指向XCode4的SDK文件夹(不确定如何做到这一点,查看实际的链接器命令行可能会有所启发),因此从我的机器上删除XCode4的6.1 SDK文件夹后, XCode 5的干净构建在我的iOS支持的应用程序中生成了外观正确的iOS 7小部件。
故事的寓意是,在同一台计算机上同时安装多个XCode / SDK时要格外小心。希望这可以帮助其他可能尝试类似方法以为旧版应用程序提供支持的人们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句