[iOS]設定UIImage的透明度

平常都是透過UIImageView設定背景色的透明度,但如果要圖片本身帶有透明度效果,可參考How to set the opacity/alpha of a UIImage?這篇文章的作法,參考Nick H247的做法修改如下:

- (UIImage *)imageByApplyingAlpha:(UIImageView *)imageView alpha:(CGFloat) alpha {
    UIGraphicsBeginImageContextWithOptions(imageView.frame.size, NO, 0.0f);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGRect area = CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height);
    
    CGContextScaleCTM(ctx, 1, -1);
    CGContextTranslateCTM(ctx, 0, -area.size.height);
    
    //CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
    
    CGContextSetAlpha(ctx, alpha);
    
    CGContextDrawImage(ctx, area, imageView.image.CGImage);
    
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    
    return newImage;
}

[iOS]隱藏UITableView的section header

最近產品畫面用了Grouped UITableView,但卻不想要每個Secton Header都出現,想要永遠隱藏第一個Section header,其他都出現。

照理說
tableView:viewForHeaderInSection 方法 return nil
heightForHeaderInSection 方法 return 0
就可以了

但怎麼試都還是在畫面上看到第一個section Header,後來發現heightForHeaderInSection至少要設一個大於零的數字就好,例如設一個超小的0.1 之類的