文章来源:淘论文网   发布者: 毕业设计   浏览量: 32



还可以点击去查询以下关键词:
[封装]    [一个]    [可以]    [用的]    [弹窗]    [父类]    [TSActionAlertView]    [封装一个可以复用的弹窗父类(TSActionAlertView)]   

项目介绍:

GitDemo地址,可以直接跑起来再看文章的O(∩_∩)O,有用的别忘了给老弟个Star

1. 需求分析

功能需要: 在开发中我们总是遇到使用各种各样的弹窗的情况,有的用作提示,有的用作功能,弹窗种类很多

他们的共同之处是:都有一个背景蒙层,都需要加一些动画

但是它们用作展示的部分总是不尽相同:展示的样式各异,很难统一

2. 功能需求

如果能有一个统一的,只需要写子视图,确定位置的父类,其他的动画,背景已经封装好,那么我们就可以只写子控件和布局,而不用管其他问题

3. 功能实现

所以我造了个轮子把展示部分的作为containerview抛出来,布局和子视图可以随意添加,只需要继承就好了方便以后使用弹窗的时候可以快速的写出来,不用考虑弹窗的动画,弹窗的冲突等一系列问题,使用弹窗就像写一个view一样简单.

效果图:

4. 简单介绍

2 种背景样式

TSActionAlertViewBackgroundStyle说明
TSActionAlertViewBackgroundStyleSolid   背景半透明  
TSActionAlertViewBackgroundStyleGradient   背景渐变  

5 种弹窗样式

TSActionAlertViewTransitionStyle说明
TSActionAlertViewTransitionStyleSlideFromBottom   上来,然后下去  
TSActionAlertViewTransitionStyleFade   渐变  
TSActionAlertViewTransitionStyleBounce   弹出  
TSActionAlertViewTransitionStyleDropDown   下落  
TSActionAlertViewTransitionStyleSlideFromTop   下滑,然后上去  

5. 怎么用

用起来不要太简单

继承 TSActionAlertView

添加自定义控件,懒加载

添加事件,写好了两个block在头文件中,方便使用.不够可以自己加

继承和使用方法

- (void)layoutContainerView{ //布局containerview的位置,就是那个看得到的视图 } -(void)setupContainerViewAttributes{ //设置containerview的属性,比 如切边啥的 } - (void)setupContainerSubViews{ //给containerview添加子视图 } - (void)layoutContainerViewSubViews{ //设置子视图的frame }

弹出

TSActionDemoView * demoAlertView = [TSActionDemoView actionAlertViewWithAnimationStyle:TSActionAlertViewTransitionStyleSlideFromTop]; [demoAlertView show];

消失

[demoAlertView dismissAnimated:YES];

6. 更多功能

你想知道什么时候出现,消失?

添加了代理

- (void)actionAlertViewWillShow;//即将出现 - (void)actionAlertViewDidShow;//已经出现 - (void)actionAlertViewWillDismiss;//即将消失 - (void)actionAlertViewDidDismiss;//已经消失 - (void)actionAlertViewDidSelectBackGroundView;//点击了背景

你想让点击背景的时候隐藏?

添加了属性

@property (nonatomic, assign)BOOL isAutoHidden;//是否点击背景隐藏

isAutoHidden 如果是YES=消失,如果是NO,点击背景就不允许消失

不会适应屏幕高度?

demo里有教你怎么使用它来适配宽高,宽高其实在不同机型是相同的,不要超过`320`就好了

- (void)layoutContainerView{ //布局containerview的位置,就是那个看得到的视图 //layout self.containerView self.containerview is the alertView CGFloat hight = 222; CGFloat spideLeft = (ScreenWidth - TSACTIONVIEW_CONTAINER_WIDTH)/2; CGFloat spideTop = (ScreenHeight - hight) * 0.4; self.containerView.frame = CGRectMake(spideLeft, spideTop,TSACTIONVIEW_CONTAINER_WIDTH, hight); }

更多功能正在开发.......

开题报告开题报告

这里还有:


还可以点击去查询:
[封装]    [一个]    [可以]    [用的]    [弹窗]    [父类]    [TSActionAlertView]    [封装一个可以复用的弹窗父类(TSActionAlertView)]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/3868.docx
  • 上一篇:【Swift/Objective-C】定制强劲的日期选择控件
  • 下一篇:新版swift 4.0 自定义pageControl宽点椭圆,图片等