1、《 根据颜色参数创建一个对应颜色的图片》
extension UIImage {
/**
* 根据颜色参数创建一个对应颜色的图片
*/
class func imageWithColor(color: UIColor) -> UIImage {
let imageW = 100;
let imageH = 100;
// 1.开启基于位图的图形上下文
UIGraphicsBeginImageContextWithOptions(CGSize(width: imageW, height: imageH), false, 0.0)
// 2.画一个color颜色的矩形
color.set()
UIRectFill(CGRect(x: 0, y: 0, width: imageW, height: imageH))
// 3.拿到图形
let image = UIGraphicsGetImageFromCurrentImageContext()
// 4.关闭上下文
UIGraphicsEndImageContext()
return image
}
}
2、《设置按钮图片在选中时不高亮,保持图片原色》
// 设置图片选中时不高亮
btn.adjustsImageWhenHighlighted = false
3、《设置不可点击》
self.userInteractionEnabled = false // 设置不可点击
4、设置标题只适应宽度
func setViewTitle(tit: NSString) {
self.title = tit
self.setTitle(tit as String, forState: UIControlState.Normal)
let attr = [[NSFontAttributeName: self.titleLabel!.font], [NSForegroundColorAttributeName: UIColor.whiteColor()]]
let options4: NSStringDrawingOptions = [NSStringDrawingOptions.UsesLineFragmentOrigin, NSStringDrawingOptions.UsesFontLeading]
let rect = tit.boundingRectWithSize(CGSize(width: (CGFloat)(MAXFLOAT), height: (CGFloat)(MAXFLOAT)), options: options4, attributes: attr as? [String: AnyObject], context: nil)
self.frame.size.width = rect.width + self.titleEdgeInsets.left + (self.currentImage?.size.width)! + 25
}
5、设置导航栏背景主题颜色(设置一次后整个应用程序都使用该主题)
let appearance = UINavigationBar.appearance()
appearance.setBackgroundImage(UIImage(named: "top_navigation_background"), forBarMetrics: UIBarMetrics.Default)
6、添加模糊效果(一般使用在UIImageView上)
// 添加模糊效果
self.bgImage = UIImageView(frame: UIScreen.mainScreen().bounds)
self.bgImage.image = UIImage(named: "sidebar_bg")
self.view.insertSubview(self.bgImage, atIndex: 0)
// 创建模糊效果类实例
let blueEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
// 创建效果视图类实例
let blurView = UIVisualEffectView(effect: blueEffect)
// 设置模糊效果类实例的尺寸
blurView.frame.size = CGSize(width: self.view.frame.width, height: self.view.frame.height)
// 将模糊效果实例添加到背景图片中
self.bgImage.addSubview(blurView)
7、设置状态栏主题
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent
}