recherche

Maison  >  Questions et réponses  >  le corps du texte

objective-c - UIScrollView如何支持每页不同高度?(左右划切换页面,在某页上下滑动查看内容)

需求:iPhone电子书应用, 每个页面都是一张图片,每页根据文章长度不同图片有长有短(图片宽度固定为屏幕宽度,高度不定)

左右划切换页面,某个页面长的话,在该页上下滑动改页面查看内容。目前卡在具体实现上面,试过动态设置contentsize,试过scrollview嵌套scrollview,可能能力有限,没有成功。

动态设置contentsize
用4张图片测试:
1. 设置了一个scrollview,contentsize为(4*屏幕宽, 屏幕高),对水平方向做swipe识别
2. 捕捉scrollview停止的事件,查看当前停留在第N个页面(第N张图片),然后把scrollview的contentsize设成了(屏幕宽,第N张图片高)
这里涉及到contentoffset的问题,所以直接跳到第一张图片的位置了,从这里开始做不下去了。。。。

scrollview嵌套scrollview
用4张图片测试:
1. 设置了一个父scrollview,contentsize为(4*屏幕宽,屏幕高),直接用缺省的pageenable机制 2. 分别把4张图片嵌到四个scrollview里面,contentsize为(屏幕宽,图片高),父scrollview依次加载各scrollview为 subview
结果,相当于父scrollview的contentview高度没有子的高度大,程序貌似只认父scrollview的contentsize了,在每页里也不能上下滑动。。。。

目前的两种思路是不是都做不下去?初学ios,希望各位给点思路,谢谢~

PHP中文网PHP中文网2763 Il y a quelques jours692

répondre à tous(4)je répondrai

  • 黄舟

    黄舟2017-04-21 11:19:26

    Il devrait être possible de définir dynamiquement contentSize et imbriquer ScrollView. L'imbrication est recommandée. Vous pouvez me dire pourquoi ça n’a pas marché.

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-21 11:19:26

    Je vais vous donner une idée. Utilisez toujours l'imbrication, un ScrollView horizontal en bas, puis ouvrez le PageControl ; un UIView à l'intérieur de chaque page et un ScrollView à défilement vertical au-dessus du UIView

    .

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-21 11:19:26

    Cette exigence est fondamentalement la même que celle de l'album photo. Une telle exigence est généralement réalisée grâce à des UIScrollView imbriqués UIScrollView. Lors de la mise en œuvre, faites attention à faire la distinction entre frame et contentSize.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-21 11:19:26

    L'idée d'imbrication est possible. Si vous échouez, vous ne pouvez vérifier que le code pour voir le problème

    répondre
    0
  • Annulerrépondre