iOS中使用autolayout写轮播图片的问题

我想用一个View来写一个轮播图片控件,使用代码添加约束

1 我重写了init方法,并且在init方法中添加了scrollview,进行了约束

2 按照网上的方法给scrollView上面添加了一个View作为它的contentView,这里就称之为scrollContentView好了

添加scrollContentView代码如下

3 然后我又根据传过来的数组来创建了几个button,用来展示轮播图片,代码如下

我在这些都做完了之后设置了contentoffset属性

        _scrollView.contentOffset=CGPointMake(WIDTH, 0);

 

然后问题来了:上面这一句代码并没有起作用

其实我还写了一个timer来进行图片自动切换,用的也是上面这句代码,这时候就会有作用

 

我自己想到的原因有几个:

1 autolayout的问题

之前也写过这种控件,不过使用frame写的,并没有这种问题,在init方法中设置contentoffset可以生效,但是使用约束就出现了这种问题

 

2 init方法的问题

_scrollView.contentOffset=CGPointMake(WIDTH, 0);这句代码是在init方法中写的,在timer调用的时候就没有问题,但是写在init中就无效

 

3 加载问题

在视图完全展示出来之前,设置contentoffset完全没有作用,但是写一个button在点击方法里设置contentoffset就可以,难道必须要加载完成之后才能设置contentoffset吗?

 

现在还没有解决,希望大神不吝赐教!!!

 

posted @ 2015-12-16 16:08  电蚊拍  阅读(480)  评论(1编辑  收藏  举报