重构过后效果图如下:
请参照微信发布分享页面 -------- 一模一样 一个像素不差.....
项目原来是没有昵称发布和广场发布标签的, 现在需要增加新的功能,而且界面上也做了一些调整.
接手过项目的第一天,修改这个页面的任务就落到我的头上了,拿过代码看看了,发布页主控制器有一千多行代码...
而且没有注释.. 变量的命名也很随性. 真好! 确保了自己从公司离开后,下一个来接我班的人 看不懂我的代码.
没办法 既然任务已经接了,就动手做吧, 我还是硬着头皮看了看 之前写的代码
之前的代码是 在 scrollView 上一个一个添加的这些控件, 添加完图片后 然后再逐个调整控件的高度.
(估计也是因为当时的控件不多---图片的container 下面就一个提交按钮,所以码者选择了这种 方式来设计编码该页面).
这种方式无可厚非,在控件数量少的情况下估计我也会选择这种方式呢, 但是现在不同了, 把获取地理位置的控件放在了图片 container的下面(原来在上面的),
然后又添加了 昵称发布 和 广场发布,点击广场发布后 然后弹出来一个 广场主体选择界面.
起初 我也是想在scrollView 上添加这些控件,通过自动布局让高度自动适应 ,奈何原来的代码使用 frame 写的 .
于是乎我放弃了这一想法 改用了 tableView 刚好 tableView 里面的分割线又和设计的吻合. 至于高度的变化,
我只需调整某个cell的高度即可 这样就大大减少了工作量 :)
项目中图片选择用的是CTAssetsPicker 使用时实现
- (void)assetsPickerController:(CTAssetsPickerController *)picker didFinishPickingAssets:(NSArray *)assets 即可.
地理位置的获取用的是高德地图.
其他的细节,就是根据设计图来完成了. 用了一个下午做完后,感觉还不错,把那么多代码都删掉了 ,心里真爽!