iOS自定义提示框Masonry布局实现
iOS 的自定义提示框,算是界面交互里挺常见但又容易踩坑的一块。用系统的UIAlertController
?太死板;纯手撸布局?太麻烦。所以推荐你用Masonry来搞定这事儿,链式语法写起来贼顺手,清晰又不啰嗦。
提示框的 UI,一般就几个东西:背景层、内容框、文字、按钮。用UIView
自己拼就行,布局全交给Masonry,轻轻松松搞定边距和对齐。比如加个UILabel
显示信息:
let label = UILabel()
view.addSubview(label)
label.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16).isActive = true
label.topAnchor.constraint(equalTo: view.topAnchor, constant: 32).isActive = true
label.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16).isActive = true
逻辑交互这块也不难,按钮响应事件用addTarget
绑定一下就行,像下面这样:
let button = UIButton()
button.setTitle("确认", for: .normal)
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
还有动画,建议用UIView.animate
加点淡入淡出的效果,提示框看起来会舒服不少。
想用Masonry?在Podfile
里加上:
target 'YourTargetName' do
use_frameworks!
pod 'Masonry'
end
跑个pod install
,就可以愉快地引入用了。
如果你追求样式灵活性,可以参考一下SlCustomAlertView
,自己封装一套提示框组件。背景透明度、按钮颜色、圆角动画,全都可以按需配置,项目里复用性也更高。
,用Masonry做弹框,布局方便,代码简洁,扩展性也强。你要是还在硬撸约束,真该试试这个方式。
11.79KB
文件大小:
评论区