我想做一个像这样的选择器:
我在下面做了一个视图,然后添加了文字"数据"和992px
像这张照片一样居中。
我自定义了collection view
:
UICollectionViewLayoutAttributes
问题是布局需要在- (void)prepareLayout {
CGRect visibleRect = (CGRect){self.collectionView.contentOffset, self.collectionView.bounds.size};
self.midX = CGRectGetMidX(visibleRect);
self.width = CGRectGetWidth(visibleRect) / 2;
self.maxAngle = M_PI_2;
}
CGFloat distance = CGRectGetMidX(attributes.frame) - self.midX;
CGFloat currentAngle = self.maxAngle * distance / self.width / M_PI_2;
CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DTranslate(transform, -distance, 0, -self.width);
transform = CATransform3DRotate(transform, currentAngle, 0, 1, 0);
transform = CATransform3DTranslate(transform, 0, 0, self.width);
attributes.transform3D = transform;
attributes.alpha = (ABS(currentAngle) < self.maxAngle);
return attributes
和left
方面具有更小的尺寸和模糊。
感谢您的帮助。