您的位置:首页 > 移动开发 > IOS开发

ios小知识点积累

2015-12-28 13:09 344 查看
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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: