注意:您不必检查库以了解问题,我只是提出来参考。
我在xcode中实现了DIDatePicker。我在view
中插入的方式是:我使用UIView
将viewController
插入auto-layout
,然后在身份检查器中将类设置为DIDatepicker
}。
问题是,DIDatepicker
没有调整视图的大小。我在考虑可能的解决办法,将DIDatePicker
设置为view's class
中的viewDidLoad
,但我不知道该怎么做。
我的问题是:如果我的理论是正确的,我如何将DIDatePicker
设为view's class
。如果我说的不对,我怎样才能DIDatePicker
使用view
调整大小?
DIDatePicker
有一个collectionView
;这是它的定义:
UICollectionViewFlowLayout *collectionViewLayout = [[UICollectionViewFlowLayout alloc] init];
[collectionViewLayout setItemSize:CGSizeMake(kDIDatepickerItemWidth, CGRectGetHeight(self.bounds))];
[collectionViewLayout setSectionInset:UIEdgeInsetsMake(0, kDIDatepickerSpaceBetweenItems, 0, kDIDatepickerSpaceBetweenItems)];
[collectionViewLayout setMinimumLineSpacing:kDIDatepickerSpaceBetweenItems];
_datesCollectionView = [[UICollectionView alloc] initWithFrame:self.bounds collectionViewLayout:collectionViewLayout];
答案 0 :(得分:0)
所以我和你有同样的问题。
问题在于,当您构建DIDatepicker时,它会根据视图的原始框架而不是自动布局后的框架构建自己的集合视图。
解决这个问题的方法是不要制作类DIDatepicker的故事板UIView。相反,只需使用普通的UIView,然后使用与ViewDidLoad方法中的UIView相同的框架创建一个DIDatepicker实例。
这是一个例子。 datePickerView是故事板中的UIView。
datepicker = DIDatepicker(frame: CGRectMake(datePickerView.frame.origin.x, datePickerView.frame.origin.y , self.view.frame.width, datePickerView.frame.height));
self.view.addSubview(datepicker!);
如果这不起作用,请尝试更改框架并将其作为子视图而不是主视图添加到datePickerView。
希望这有帮助!
答案 1 :(得分:-1)
我不完全确定你的"理论"关于将主视图设置为DIDatepicker是正确的,但您应该能够通过选择默认" View"来测试它。在View Controller中并在其上设置自定义类。您不应该首先添加UIView,只需使用View Controller附带的UIView。