0

我使用了一个使用 xib 的项目中的一些代码。我使用故事板。我是编码新手。代码运行良好,但我有 17 个针对 UITextAlignment(居中和左)、UILineBreakModeWordWrap、presentModalViewController:animated、dismissModalViewControllerAnimated 和 minimumFontSize 的弃用警告。它们在 iOS 6.0 中已被弃用。我想我已经从基于 xib 的示例中添加了正确的文件以避免这些(例如,ReaderViewController、ThumbsViewController、ReaderMain、ReaderMainPagebar 等),并编译了它们。关于如何解决这些问题的任何线索?这严重吗?

self.imageRoll = [UIImage imageWithContentsOfFile:fPath];
UIImage *anImage = [UIImage imageNamed:self.imageRoll]; 

此外,在上面的代码中,我不断收到消息“不兼容的指针类型将“UIImage *”发送到此变量“imageRoll”的“NSString *”类型的参数。处理这个问题的建议?线条采用不同的方法。

4

1 回答 1

1

您可以通过将已弃用的符号替换为正确的替换来修复弃用的警告。但请确保新符号适用于您需要支持的所有 iOS 版本。

示例 -UILineBreakModeWordWrap已弃用并替换为NSLineBreakByWordWrapping. 在这种情况下,好消息是您可以安全地替换UILineBreakModeWordWrapNSLineBreakByWordWrapping. 两者都具有相同的枚举值,因此更改将适用于所有版本的 iOS。

presentModalViewController:animatedpresentViewController:animated:completion:在 iOS 5.0中已弃用并替换为。只要您不尝试支持 iOS 4.3,请将您的使用替换presentModalViewController:animatedpresentViewController:animated:completion:.

查看每个已弃用符号的参考文档。文档几乎总是告诉您更换。同样,确保替换方法一直可用到您正在使用的任何部署目标。

您发布的两行代码的问题很简单。self.imageRoll是定义为UIImage指针的属性。该UIImage imageNamed:方法需要NSString指定一个文件名。由于您已经有第一行的图像,因此第二行应该是:

UIImage *anImage = self.imageRoll;
于 2013-06-07T23:13:52.763 回答