美文网首页
iOS开发中的坑

iOS开发中的坑

作者: 大饼炒鸡蛋 | 来源:发表于2016-02-18 13:50 被阅读132次

1.UICollectionView中的Cell 有一个删除的按钮 ,按钮的点击事件是block,block的赋值一般是在CellForItem的DataSource方法中,此时注意不要在block中直接引用indexPath,而是直接在block带参数Cell  (更新:indexPath 可以加__block  indexPath)

因为用方法delegateItemsAtIndexPaths 后cell的indexPath会及时变,但此时block中的indexPath不会及时更新,调用reloadData也不好使

2.[self.allScrollView setContentOffset:CGPointMake(0,0)animated:YES]; 设置 ScrollView的ContentOffset的时候 有时候不会立即生效,可能需要调用[self.allScrollView layoutIfNeeded];

3.设置导航栏的背景色 可以用barTintColor和setBackGroundImage  

去掉黑线 可以加一个lineView 高度为1  y坐标为导航栏的height

4.关于UIScrollView的约束,比较特别本身的约束和别的View一样,内容的约束是根据subView的约束来确定contentView的frame和contentSize的,如果在xib中添加了一个UICollectionView,实际加载的时候 有多个可横向滑动,注意 当点击进入第一个UICollectionView的详情页返回的时候(导航控制器),UIScrollView 会重新计算约束为xib中的单个UICollectionView的约束,这个时候contentSize会变化,导致不能滑动,解决办法是 用kvo监听contentSize的值 ,变的时候 重新设置一下,如果之前不在第一个view中,返回重新设置约束的时候会调到UIScrollView的scrollViewDidScroll 的delegate方法中.

如果首页启动的时候 需要初始化ScrollView中的多个subVC  比较耗时的话,可以放到后台初始化,添加child subView的时候 放到主线程

滑动的时候 的分页,大概是下面这样

int page  =(self.ScrollView.contentOffset.x+self.ScrollView.bounds.size.width/2)/self.ScrollView.bounds.size.width;

if(page !=self.SelectedIndex){

}

5. Protocol和delegate完全不是一个东西,Protocol是类似于Java里的接口一类的东西,某个类实现某个接口证明这个类实现了这个接口,拥有接口里定义的功能和属性

delegate 是苹果官方经常使用的一种设计模式,该模式中用到了Protocol

当一个类实现Protocol的时候,要注意分清Protocol的类型是delegate还是普通接口类型,正常的往往是功能性的,delegate类型的往往是回调型的

相关文章

  • iOS开发中遇到过的坑

    iOS开发中遇到过的坑 iOS开发中遇到过的坑

  • iOS进阶-谈谈定时器

    目录 iOS提供定时器API 定时器开发中的坑 一、 iOS提供定时器API 二、定时器开发中的坑 2.1、必须办...

  • H5学习之路

    持续更新中... 前言 从iOS开发入坑,途中掉入Android小坑,现在公司负责iOS及Android大坑,已经...

  • iOS端IM开发从入门到填坑

    iOS端IM开发从入门到填坑 iOS端IM开发从入门到填坑

  • iOS开发笔记

    原文请见github上iOS开发笔记 iOS开发笔记 记录了在iOS开发中踩过的坑和一些问题解决 微信的openi...

  • iOS开发中的坑

    一、cell点击背景色覆盖按钮的背景色 cell默认选中行的颜色是灰色的,如果cell上有按钮等控件,cell的灰...

  • iOS开发中的坑

    1.UICollectionView中的Cell 有一个删除的按钮 ,按钮的点击事件是block,block的赋值...

  • 2018-12-21

    iOS开发中懒加载遇到的坑 正常写一个懒加载对象 - (MAMapView*)mapView{ if(nil=...

  • iOS开发中遇到的坑

    从事iOS开发已有数年,一路走来踩过无数的坑,然而都踩过哪些坑,如今想来脑子里竟是一片空白,为什么呢?仔细想了想,...

  • iOS 开发中遇到的坑

    1.使用百度地图报BMK_SEARCH_PERMISSION_UNFINISHED(还未完成鉴权,请在鉴权通过后重...

网友评论

      本文标题:iOS开发中的坑

      本文链接:https://www.haomeiwen.com/subject/ldihtttx.html