我的应用程序中有一个UICollectionViewController
,我想在用户点击它时在特定单元格中制作图像。
很抱歉这很麻烦,因为我是iOS的初学者。根据我的知识,它将以新的View controller
呈现,如果是/否,那么如何?
提前致谢。
答案 0 :(得分:1)
如果使用storyboard,只需将新的ViewController添加到场景中,然后按Ctrl-从CollectionView单元格拖动到ViewController以创建segue。如果您想要全屏,请选择模式。
在CollectionViewController类中,您需要将图像引用传递给Detail ViewController的属性。您需要使用公共属性,因为在加载detailVC时尚未设置图像的插座。实例化后,您只需将图像设置为Outlet即可显示它。
MyCVC.m(UICollectionViewController的子类)
#import "MyCVC.h"
#import "DetailVC.h"
@interface MyCVC ()
@end
@implementation MyCVC
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"detailSegue"] && [segue.destinationViewController isKindOfClass:[DetailVC class]]) {
DetailVC *detailVC = segue.destinationViewController;
detailVC.image = sender.image; // or any other reference to the actual image to display
}
}
@end
<强> DetailVC.h 强>
#import <UIKit/UIKit.h>
@interface DetailVC : UIViewController
@property (strong, nonatomic) UIImage *image;
@end
<强> DetailVC.m 强>
#import "DetailVC.h"
@interface DetailVC ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation DetailVC
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.imageView.image = self.image;
}
@end