gpt4 book ai didi

ios - 我可以在一个应用程序中集成 UIViewController 和 UICollectionViewController 吗?

转载 作者:行者123 更新时间:2023-11-29 03:34:46 25 4
gpt4 key购买 nike

在我正在制作的应用程序中,我尝试在两个不同的 View Controller 中混合 UIViewContoller 和 UICollectionViewController 。 CollectionViewController 单元格不会显示在应用程序中。我想知道如何将它合并到 viewcontroller.h 中的界面中。

当前ViewController.h

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>

@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
- (IBAction)cameraButtonClicked:(id)sender;
@property (strong, nonatomic) IBOutlet UIImageView *imageView;


@end

最佳答案

@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate, UICollectionViewDelegate, UICollectionViewDataSource>
- (IBAction)cameraButtonClicked:(id)sender;
@property (strong, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) UICollectionView *collectionView
@end

然后,在您的 ViewController.m 上:

- (void)viewDidload{
self.collectionView = ({
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
flowLayout.itemSize = CGSizeMake(300, 107);
flowLayout.minimumLineSpacing = 10.f;
[[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:flowLayout];
});

[self.collectionView setAlwaysBounceVertical:YES];
[self.collectionView setContentInset:UIEdgeInsetsMake(60, 0, 0, 0)];
self.collectionView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.collectionView];

self.collectionView.dataSource = self;
self.collectionView.delegate = self;
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"Cell"];
}

另外,我认为您对“View Controller”和“View”这两个术语有些困惑。 UICollectionViewController 是您从 Objects Library(在 Utilities 面板上)拖到 Storyboard 上的对象。 UICollectionViewUIScrollView 的子类(就像 UITableView),它包含一系列赋予其行为的方法。

请注意,由于您遵守 UICollectionViewDataSourceUICollectionViewDelegate 协议(protocol),因此您应该从这些协议(protocol)中实现 @required 方法协议(protocol):

  1. - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView
    *)collectionView;
  2. - (NSInteger)collectionView:(UICollectionView *)collectionView
    numberOfItemsInSection:(NSInteger)section;
  3. - (UICollectionViewCell *)collectionView:(UICollectionView
    *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;

希望我有所帮助。

关于ios - 我可以在一个应用程序中集成 UIViewController 和 UICollectionViewController 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19340527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com