您好,這個(gè)熱區(qū)的數(shù)量可以限制嗎芙扎?
react 可裁剪拖拽的熱區(qū)組件React Hot zone react 熱區(qū)resize組件 Installation Usage Props PropDescriptionTypeDefaultsrc圖...
您好,這個(gè)熱區(qū)的數(shù)量可以限制嗎芙扎?
react 可裁剪拖拽的熱區(qū)組件React Hot zone react 熱區(qū)resize組件 Installation Usage Props PropDescriptionTypeDefaultsrc圖...
請問一下,UISlider滑塊是如何平穩(wěn)滑動(dòng)的呢哨免?
iOS開發(fā) UISlider設(shè)置滑塊形狀以及 view轉(zhuǎn)化成image今天需求是做一個(gè)播放器界面茎活,如下圖 播放進(jìn)度條呢,一般有兩種方式 ProgressView UISlider最開始需求是進(jìn)度條不讓拖動(dòng)琢唾,本著后期需求的一個(gè)更改性载荔,最終選擇了使...
為啥我改成OC的無法循環(huán)滾動(dòng)呢蔬浙?
collectionView實(shí)現(xiàn)無限循環(huán)滾動(dòng)卡片github源碼地址 效果展示 前言 去年因?yàn)轫?xiàng)目中有個(gè)切換學(xué)校的功能猪落,要求以卡片浮動(dòng)效果展示,并且能夠無限循環(huán)滾動(dòng)畴博。 之前找了個(gè)demo它是通過自定義view動(dòng)畫實(shí)現(xiàn)的笨忌,卡...
OC 版翻譯樓主的: 復(fù)制粘貼直接用
#import "SlideBigAnimationLayout.h"
#import "SDAutoLayout.h"
/// 垂直縮放除以系數(shù)
static CGFloat ActiveDistance = 400;
/// 縮放系數(shù)
static CGFloat ScaleFactor = 0.25;
@implementation SlideBigAnimationLayout
- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity {
CGRect targetRect = CGRectMake(proposedContentOffset.x, 0.0, self.collectionView.width, self.collectionView.height);
// 目標(biāo)區(qū)域中包含的cell
NSArray<UICollectionViewLayoutAttributes *> *attriArray = [super layoutAttributesForElementsInRect:targetRect];
// collectionView落在屏幕中點(diǎn)的x坐標(biāo)
CGFloat horizontalCenterX = proposedContentOffset.x + (self.collectionView.width / 2.0);
CGFloat offsetAdjustment = CGFLOAT_MAX;
for (UICollectionViewLayoutAttributes *layoutAttributes in attriArray) {
// 找出離中心點(diǎn)最近的
CGFloat itemHorizontalCenterX = layoutAttributes.center.x;
if (fabs(itemHorizontalCenterX - horizontalCenterX) < fabs(offsetAdjustment)) {
offsetAdjustment = itemHorizontalCenterX - horizontalCenterX;
}
}
return CGPointMake(proposedContentOffset.x + offsetAdjustment, proposedContentOffset.y);
}
- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect{
NSArray* array = [super layoutAttributesForElementsInRect:rect];
CGRect visibleRect = CGRectZero;
visibleRect.origin = self.collectionView.contentOffset;
visibleRect.size = self.collectionView.bounds.size;
for (UICollectionViewLayoutAttributes* attributes in array) {
CGFloat distance = CGRectGetMidX(visibleRect) - attributes.center.x;
CGFloat normalizedDistance = fabs(distance / ActiveDistance);
CGFloat zoom = 1 - ScaleFactor * normalizedDistance;
attributes.transform3D = CATransform3DMakeScale(1.0, zoom, 1.0);
}
return array;
}