pages逻辑流程图1
2017-09-06 10:12:51 7 举报
iOS中,"Pages"应用中“编辑”功能从编辑开始到编辑结束的逻辑流程图
作者其他创作
大纲/内容
删除所有已选中的page
假设所有pages的展示是通过UICollectionView实现的,那么仅需取到所有已选中cell对应的模型,创建相同的新的模型,并插入到模型数组中原模型之后的位置,并刷新一次collectionView即可
navigationBar左侧按钮状态变化
根据已选中的page,复制相同内容和类型的page各一个,并刷新视图
修改navigationBar
播放一次动画,修改view的scale,缩小再放大。
编辑开始
大致实现方式与进入编辑时类似,这里不再赘述。不过需要移除掉添加到view的layer上的核心动画
可以通过修改view.layer.borderColor来实现。选中是设置为蓝色,取消选中时设置为clearColor
播放伸缩动画
编辑状态时,点击了navigationBar上的“完成”按钮。或是在编辑状态时点击了左侧导航按钮进行了新建或删除操作
将导航条和pages恢复到正常状态
取到当前的navigationController,然后取到navigationBar。对bar调用 setBackgroundImage:forBarMetrics方法。所用到的image因为是纯色图片,可以开启图像上下文自己绘制一个。
根据已选中的page数量,修改按钮是否可点击
如果选中的page数量为0,则设置三个按钮的enable为NO,否则则为YES
假设所有pages的展示是通过UICollectionView实现的,那么仅需取到所有已选中cell对应的模型,在模型数组中删掉这些模型,并刷新一次collectionView即可
通过[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent 将状态栏文本修改为白色。不过需要注意先在infoPlist中把属性View controller-based status bar appearance设置为NO
修改statusBar的样式
边框可见性变化
给视图的layer层添加一个核心动画。大概做法是添加一个rotation动画,并设置repeatCount为MAXFLOAT
page的样式变化
编辑结束
编辑状态时,在有已选中page的情况下,点击了删除或复制
复制
多个已创建的pages的编辑功能
修改所有其他pages的状态
编辑状态时,点击选中或取消选中某一个page
修改navigationBar上的按钮
修改navigationBar的背景色
navigationBar上的“编辑”按钮被点击
编辑功能
在控制器中设置self.navigationItem.leftBarButtonItems 和rightBarButtonItem。创建好对应的按钮设置上去
正在编辑
将按钮的enable修改为NO
删除
恢复导航条、状态栏的样式;将pages从编辑状态退出
修改“新增”项的状态
pages进入“编辑”状态
收藏
0 条评论
回复 删除
下一页