objective-c - UIScrollView如何支持每页不同高度?(左右划切换页面,在某页上下滑动查看内容)
PHP中文网
PHP中文网 2017-04-21 11:17:26
0
4
684

需求: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中文网

认证0级讲师

répondre à tous(4)
黄舟

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é.

左手右手慢动作

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

.
洪涛

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.

巴扎黑

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!