iOS

通过 Kingfisher Extension 自定义图片处理

惯例先上源码:GitHub源码 对Kingfisher进行了简单的封装, 好处: 1. 在用`pod`管理依赖的情况下,不需要到处`import Kingfisher`。 2. 代码较为集中,方便管理。若以后需要替换`Kingfisher`也很方便。 还可以很集中地添加默认值,在我自己的项目中,全部图片都是默认 let defaultOptions: KingfisherOptionsInfo = [ .Options([.BackgroundDecode, .LowPriority]), .Transition(ImageTransition.Fade(0.55)) ] 如果需要对Kingfisher下载下来的图片需要作特殊处理,例如作圆角处理,

优雅地自定义XibView

好习惯,先上源码。 先创建一个UIView文件和一个Xib文件,在Xib文件里设置如下, 在UIView文件中,不是用-awakeFromNib()作为构造器,而是正常的-init(frame: CGRect)。 override init(frame: CGRect) { super.init(frame: frame) xibSetup() } 而-xibSetup()才是关键,具体可看源码。 如果需要UIView和Xib文件建立控件属性关联,是设置Xib文件的File`s Owner,而不是设置View的Custom Class。 设置了File`s Owner就可以像往常一样拖线了。 如果想在Main.storyboard文件中直接使用此Xib,

UINavigationBar

隐藏导航栏底部直线

NavigationBar 的底部有一个 ShadowImage 作为阴影,对其隐藏或者显示,可以利用以下的扩展来实现 extension UINavigationBar { func hideBottomHairline() { let navigationBarImageView = hairlineImageViewInNavigationBar(self) navigationBarImageView?.hidden = true } func showBottomHairline() { let navigationBarImageView = hairlineImageViewInNavigationBar(self) navigationBarImageView?.hidden = false } private func hairlineImageViewInNavigationBar(view: UIView) ->