UICollectionView:如何根据文本长度动态设置行高

时间:2016-12-05 10:32:33

标签: ios objective-c calendar uicollectionview uicollectionviewcell

我正在使用KDCalendarView类在我的项目中显示日历。现在我想在每个日期显示一些数据。但是对于每个日期,可能会有一些来自服务器的可能值。现在我可以在sizeForItemAtIndexPath中增加每个项目的宽度和高度。但这里的问题是它为每个项目单独设置大小。但我需要做的是取决于连续7个值,我必须将它们设置为行的高度而不仅仅是项目。

enter image description here

如图所示,在第一行0日期的高度2项应该是整行的高度而不仅仅是该特定项目。

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    if (!self.displayMonthDate) {
        return 0;
}
NSInteger numberOfDaysPlusOffset = _numberOfDaysInMonth + _firstWeekdayOfMonthIndex;
NSInteger remainingDaysToFillCalendar = 7 - (numberOfDaysPlusOffset % 7);
return numberOfDaysPlusOffset + remainingDaysToFillCalendar;
}

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView
       viewForSupplementaryElementOfKind:(NSString *)kind
                             atIndexPath:(NSIndexPath *)indexPath {
//Used for each cell to draw
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView  cellForItemAtIndexPath:(NSIndexPath *)indexPath {
//Setting item size here
}

1 个答案:

答案 0 :(得分:0)

我认为您可以尝试使用:UICollectionViewFlowLayoutAutomaticSize