我目前有一个使用很多视图的应用。每个视图都使用摄像头视图。该应用的用户可以在一个视图中选择某些项目,该项目将显示在摄像机视图中。基本上,他们可以使用该项目来编辑他们的照片。
我的问题是,摄像机视图太多,占用太多空间/内存。我想在我的整个应用程序中只使用一个摄像头视图。所以这就把我带到了我的问题......
当用户点击我的一个视图中的某个项目时。什么是显示他/她轻拍相机视图的项目的正确方法。
如果这太令人困惑,我很抱歉...
答案 0 :(得分:0)
有一个控制器类,指向摄像机视图和所选项目的指针。您可以编写方法setItem:
,它将覆盖@property UIView *item
的默认设置器。在您的方法实现中,[cameraView addSubview:item]
应该在摄像机视图中添加命名项作为叠加层,如果这是您想要的。要删除它,请使用[item removeFromSuperview]
(每次执行此操作,因为即使item
为nil
它仍将正常执行,它也不会执行任何操作。)
以上代码:
或者Controller.h
@property (nonatomic, retain, setter = setItem:) UIView *item;
@property (nonatomic, retain) UIView *cameraView;
Controller.m或者
@synthesize item, cameraView;
- (void)setItem:(UIView *)newItem
{
[item removeFromSuperview];
[item release];
[newItem retain];
item = newItem;
[cameraView addSubview:item];
}