update
This commit is contained in:
@@ -75,16 +75,38 @@ static NSString *identifier = @"AvatarCollectionViewCell";
|
||||
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
DSAvatarCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
|
||||
NSNumber *number = self.shareArray[indexPath.row];
|
||||
DSWebMenuType type = number.integerValue;
|
||||
if (type == DSWebMenuHomeType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"zhongxindakai"];
|
||||
}else if (type == DSWebMenuTelegramType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"telegram"];
|
||||
}else if (type == DSWebMenuWhatsAppType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"whatsapp"];
|
||||
}else if (type == DSWebMenuFacebookType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"facebook"];
|
||||
id value = self.shareArray[indexPath.row];
|
||||
if ([value isKindOfClass:[LinkConfig class]]) {
|
||||
LinkConfig *link = value;
|
||||
if (ISNULLSTR(link.icon)) {
|
||||
cell.avatarImageView.image = [self circularImageWithText:link.name];
|
||||
}else{
|
||||
NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithURL:[NSURL URLWithString:link.icon] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
|
||||
if (error) {
|
||||
NSLog(@"Error downloading image: %@", error);
|
||||
} else {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
UIImage *image = [UIImage imageWithData:data];
|
||||
cell.avatarImageView.image = image;
|
||||
});
|
||||
}
|
||||
}];
|
||||
[dataTask resume];
|
||||
}
|
||||
}else if ([value isKindOfClass:[NSNumber class]]) {
|
||||
NSNumber *number = value;
|
||||
DSWebMenuType type = number.integerValue;
|
||||
if (type == DSWebMenuHomeType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"menu"];
|
||||
}else if (type == DSWebMenuRefreshType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"refresh"];
|
||||
}else if (type == DSWebMenuTelegramType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"telegram"];
|
||||
}else if (type == DSWebMenuWhatsAppType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"whatsapp"];
|
||||
}else if (type == DSWebMenuFacebookType) {
|
||||
cell.avatarImageView.image = [UIImage imageNamed:@"facebook"];
|
||||
}
|
||||
}
|
||||
cell.avatarImageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
return cell;
|
||||
@@ -92,11 +114,48 @@ static NSString *identifier = @"AvatarCollectionViewCell";
|
||||
|
||||
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
NSNumber *number = self.shareArray[indexPath.row];
|
||||
DSWebMenuType type = number.integerValue;
|
||||
id value = self.shareArray[indexPath.row];
|
||||
if (self.webMenuDelegate && [self.webMenuDelegate respondsToSelector:@selector(webMenuCollectionViewWithMenuType:)]) {
|
||||
[self.webMenuDelegate webMenuCollectionViewWithMenuType:type];
|
||||
[self.webMenuDelegate webMenuCollectionViewWithMenuType:value];
|
||||
}
|
||||
}
|
||||
|
||||
- (UIImage *)circularImageWithText:(NSString *)text {
|
||||
// 设置字体和大小
|
||||
UIFont *font = [UIFont systemFontOfSize:16.0f];
|
||||
CGSize textSize = [text sizeWithFont:font];
|
||||
|
||||
// 创建图形上下文
|
||||
CGFloat size = 60.0f;
|
||||
UIGraphicsBeginImageContextWithOptions(CGSizeMake(size, size), NO, 0.0);
|
||||
CGContextRef context = UIGraphicsGetCurrentContext();
|
||||
|
||||
// 绘制圆形路径
|
||||
CGRect rect = CGRectMake(0, 0, size, size);
|
||||
CGContextAddEllipseInRect(context, rect);
|
||||
CGContextClip(context);
|
||||
|
||||
// 设置背景颜色(可选)
|
||||
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0); // 白色背景
|
||||
CGContextFillRect(context, rect);
|
||||
|
||||
// 设置文本颜色
|
||||
[[UIColor redColor] set];
|
||||
|
||||
// 计算文本绘制位置,使其居中
|
||||
CGFloat x = (size - textSize.width) / 2.0f;
|
||||
CGFloat y = (size - textSize.height) / 2.0f;
|
||||
|
||||
// 绘制文本
|
||||
[text drawAtPoint:CGPointMake(x, y) withFont:font];
|
||||
|
||||
// 获取UIImage对象
|
||||
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
|
||||
|
||||
// 结束图形上下文
|
||||
UIGraphicsEndImageContext();
|
||||
|
||||
return image;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user