项目笔记

 

问题1.2

1.选中图片被渲染,蓝色

如何解决:1.通过操作图片 2.通过代码

2.发布图片显示不出来,并解决

分析:为什么显示不出来 -> 判断下发布图片和其他图片区别(尺寸不一样) -> 发布图片太大,导致显示不出来 -> 1.改图片尺寸不太好使 -> 系统的UITabBarButton不好使 -> 发布按钮不能使用UITabBarButton去实现 -> 1.直接往tabBar中间添加一个发布按钮(1.多了一个控制器 2.不安全,有可能系统UITabBarButton把你的按钮覆盖) -> 布局tabBar上子控件位置,平均分成5等分,中间留一个文字
 布局tabBar上子控件位置 -> 1.自定义这个控件 2.重写layoutSubviews

解决1.选中标题颜色 黑色

  • 分析:设置选中标题颜色 -> 拿到谁去设置 -> 标题属于按钮的内容 -> 对应子控制器的tabBarItem

标题颜色和大小:改为黑色,默认为蓝色

通过load加载-->全局的tabBarItem调用apperanceWhen-->创建可变字典,在字典中拿到NScolorAN属性设置黑色-->进去查会发现tabItem父类有个setTitle方法:-->同样的方法设置字体大小用字典的NSFont
apperance的使用条件:只要遵守了这个UIAppearance协议,就能调用appearance
哪些属性可以通过UIAppearance设置?只要属性有UI_APPEARANCE_SELECTOR这个宏描述,就可以使用UIAppearance设置appearance:必须要再显示之前设置(self.view removeSupviews)

设置所有的导航标题

分析: 导航条内容 -> 导航条由栈顶控制器的navgationItem -> 导航控制器的view永远显示出来是栈顶控制器的view ->
因为有4个导航控制器,所有抽出一个UIBarButtonItem的分类-->设置接收普通图片与高亮图片以及监听点击addtag的方法
实现该方法,注意点:记得按钮要调用sizeToFit,会发现直接添加到UIBarButtonItem上发现点击范围不对-->所以将创建的button先添加到一个尺寸与button一样的UIView上,在添加到UIBarButtonItem上-->通过该方法设置所有的导航控制器
  • 设置导航条共有的内容-->创建导航控制器获取整个应用的Bar用appearence方法-->设置字体颜色大小-->注意点:设置导航条背景图片:一定要是UIBarMetricsDefault,iOS9之前:UIBarMetricsDefault,导航控制器跟控制器的view尺寸会减少64
  • 设置每个导航器所含内容,并且监听点击事件,发现一个月亮按钮又选中状态的情况
  • 到UIBarButtonItem中设置一个含选中图片的方法,当点击时,让月亮成为选中按钮

问题3.4

3.发现使用系统的返回是蓝色,要设置成黑色

  • 重写返回按钮-->创建UITableVc,当点击按钮时push到设置Vc中-->在UIBarButtonItem添加一个设置标题的方法,方便下次其他需要的直接用,添加返回标题为黑色时发现距离左边太远了.
  • 在该方法中设置内边距解决这问题,

    • 考虑到后面可能需要设置其他的返回按钮,所以在push方法设置返回按钮,注意:如果跳转的控制器不设置颜色会卡顿

    • 当添加的按钮覆盖了系统的按钮发现系统的滑动功能没有了,添加滑动功能,滑动返回功能 -> 1.手势被干掉 pass 2.代理 -> 根控制器不需要滑动返回,不然会发现有锁死的可能,

    • 研究全屏滑动返回功能:为什么导航控制器只能边缘触发手势 -> 打印了下系统手势 -> 添加Pan手势,发现手势少一个target和一个action-->

    • 打印系统的self.interactivePopGestureRecognizer,会发现一些方法

    • 可以用系统的-->系统的UIScreenEdgePanGestureRecognizer会调用target的action方法来滑动返回-->所以用系统的target与action(handleNavigationTransition:)方法就行

    • 把以前的边缘滑动设置为NO

知识补充

  • UIScreenEdgePanGestureRecognizer:边缘滑动手势
  • UIPanGestureRecognizer:全屏,整个范围

总结:需求推动开发,思路最重要

转载于:https://www.cnblogs.com/xieyunqq/p/5146354.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值