想要动态的在UIView的subviews的指定位置插入和删除某个subview怎么办

      最近在写一个儿童故事书的软件,其中涉及到书的翻页。我是想用一个UIView,此处定义为boxView来装一页一页的view,此处将其定义为pageView。点击前一页按钮和下一页按钮时用那种翻书的效果,那假如我一本书有10来页,如果在loadview中一次性将所有的pageView都初始化好add到boxView里,这样做是很方便,但是有很多页是不需要立即显示出来的,这样就浪费内存,同时还容易导致内存泄漏。所以要在boxView里动态的插入和删除某个pageView。

       通常要展示多个页面时,我们会用到UIScrollView。那初始化时我们知道有多少页,定义这个UIScrollView的frame让其正好能容纳这些view就行了,等到我们要插入子view时将其放大指定的位置,再将UIScrollView滚动到这个位置就行了。(哎,本来上代码就不用啰嗦这么多了,可是在家里的这台电脑上没有代码,脑子现在这个点已经迷糊了快哭了)。可我这个是普通的UIView啊,那要怎么做呢?我反复查了API,UIView不能够一下子设置其subview有多少个,[insertView:(UIView *)view atIndex:(NSUInteger)index]这个方法的index不能够超过UIView的子view的数量。这时想起来了UIView的tag属性,又看到了UIView的viewWithTag这个方法,好吧,方法来了大笑。我们将每个pageView的tag设置成它应出现的顺序,这样根据tag就能找到这个view,再用[[UIView subviews] indexOfObject:刚刚找到的view]也就找到这个view在boxView的index是多少了。在翻页效果的方法里,执行[UIView exchangeSubviewAtIndex:indexA withSubviewAtIndex:indexB]方法就能知道下一个要显示的pageView的index了。

        由此,在翻页时的顺序问题就解决了,知道点击上一页按钮要出现哪个pageView,点击下一页按钮要出现哪个pageView了。思路说么多,以后找时间再贴上代码。(真的要睡觉了,困死了睡觉睡觉

      

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值