Objective C - 使用导航推送

时间:2018-05-26 05:53:11

标签: ios objective-c uicollectionview uinavigationcontroller

我在没有storyboard或xib文件的情况下实现UICollectionView。 目前,我的firstviewcontroller嵌入在导航控制器中,并在单击按钮时调用collectionviewcontroller。

这是我在firstviewcontroller.m中的代码

UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];
layout.sectionInset = UIEdgeInsetsMake(20, 20, 20, 20);
layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 20;

CollectionViewController *ivc = [[CollectionViewController alloc] initWithCollectionViewLayout:layout];
[self.navigationController pushViewController:ivc animated:NO];

但是我不想在这里有布局代码。我想在collectionviewcontroller.m中的某个地方。可能在viewDidLoad中我猜?

但我必须有布局来初始化collectionviewcontroller才能推送视图。 有一个更好的方法吗?任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

你可以在推送viewController之后设置FlowLayout,如下面的代码,如果仍然没有解决你的问题,请告诉我。

@implementation UICollectionViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];
    layout.sectionInset = UIEdgeInsetsMake(20, 20, 20, 20);
    layout.minimumInteritemSpacing = 0;
    layout.minimumLineSpacing = 20;

    [self setCollectionViewLayout:layout];
}