多个视图的单个相机视图
Posted
技术标签:
【中文标题】多个视图的单个相机视图【英文标题】:Single camera view for multiple views 【发布时间】:2011-11-15 00:17:21 【问题描述】:我目前有一个使用许多视图的应用。每个视图都使用一个相机视图。该应用程序的用户可以在一个视图中选择某些项目,该项目将显示在相机视图中。基本上,他们可以使用该项目来编辑他们的图片。
我的问题是,相机视图太多,占用太多空间/内存。而且我只想为我的整个应用程序使用一个相机视图。所以这让我想到了我的问题......
当用户在我的一个视图中点击一个项目时。在相机视图上显示他/她点击的那个项目的正确方式是什么。
如果这太混乱了,我很抱歉......
【问题讨论】:
您在哪个平台/操作系统上工作?从您的问题中无法判断。 抱歉,我在 ios iPhone 平台上工作。 【参考方案1】:有一个控制器类,它指向相机视图和您选择的项目。您可以编写一个方法setItem:
,它将覆盖@property UIView *item
的默认设置器。在您实现该方法时,[cameraView addSubview:item]
应该将命名项目添加为相机视图上的覆盖,如果这是您想要的。要删除它,请使用[item removeFromSuperview]
(每次都这样做,因为即使item
是nil
,它仍然会正确执行,只是不会做任何事情)。
以上代码:
控制器.h
@property (nonatomic, retain, setter = setItem:) UIView *item;
@property (nonatomic, retain) UIView *cameraView;
控制器.m
@synthesize item, cameraView;
- (void)setItem:(UIView *)newItem
[item removeFromSuperview];
[item release];
[newItem retain];
item = newItem;
[cameraView addSubview:item];
【讨论】:
以上是关于多个视图的单个相机视图的主要内容,如果未能解决你的问题,请参考以下文章