【问题标题】:How to get TTPhotoViewController to display a UIImage?如何让 TTPhotoViewController 显示 UIImage?
【发布时间】:2010-06-21 14:40:39
【问题描述】:

我有一个 UIImage,我想用 TTPhotoViewController 显示,但 TTPhotoViewController 不接受 UIImage 作为参数。它确实需要一个 TTPhoto 作为参数,所以我想知道是否有办法将 UIImage 转换为 TTPhoto,或者是否有任何其他方法可以让 TTPhotoViewController 显示我的 UIImage,而不是设置 defaultImage,这没有效果不太好。

【问题讨论】:

    标签: iphone uiimage three20 ttphotoviewcontroller


    【解决方案1】:

    我使用了一些技巧来做到这一点:

    NSString *url = [[TTURLCache sharedCache] createUniqueTemporaryURL];    
    [[TTURLCache sharedCache] storeImage:baseImage forURL:url force:YES];
    
    PEPhotoViewController *album=[[[PEPhotoViewController alloc] initWithImageURL:url] autorelease];
    

    【讨论】:

    • 我必须先尝试一下,然后才能接受它作为我的答案,但它看起来很不错。
    【解决方案2】:

    您需要创建一个符合TTPhotoSource 协议的对象,实现所需的方法。然后,您需要使用符合 TTPhoto 协议的对象填充该数据源。

    然后您应该能够在 TTPhotoViewController 上设置照片源属性,Three20 的魔法应该会起作用。

    根据我自己的经验,我只使用带有图像 URL 的框架,并使用 Three20 的 TTModel 框架下载它们。我不完全确定这会如何影响本地加载图像。

    【讨论】:

    • 我在项目中添加了 Three20,因为我想要一个不错的 PhotoViewer。所有图像都存储在本地。我也只想显示一张图片,至少现在是这样。
    • 你无法真正摆脱 Three20 的处事方式。这只是它的写作方式。如果要使用照片查看器,则必须创建照片源并填充它。如果您只想在滚动视图中显示一些图像,我建议您查看 UIScrollView 文档和示例应用程序并制作您自己的更简单的照片浏览器。 Three20 整体上是一个怪物,除了它正在进行的重构之外,它仍然很难掌握。
    • 我很久以前就问过这个问题,我什至无法访问源代码,但我认为这就是我最终要做的,所以我想我应该接受这个作为我的答案。
    【解决方案3】:

    您可以提供库的本地路径。应该是 bandle://documents:// 。查看 TTCalog 示例源代码。

    【讨论】:

    • bundle://*。 +1 documents://,这正是我所需要的
    【解决方案4】:

    只需将 self.defaultImage 设置为您的图像。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多