iOS 中 UITableView 的嵌套问题? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
zhlooking
V2EX    iDev

iOS 中 UITableView 的嵌套问题?

  •  
  •   zhlooking 2016-05-24 21:50:52 +08:00 7694 次点击
    这是一个创建于 3431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Apple 的文档说不推荐 UIScrollView 中嵌套 UIScrollView 。可是看 A 站和 B 站的 App 中“首页->热门推荐”界面,发现都是 UITableView 的 Cell 里面套 UIScrollView 再套 UITableView 的方式。自己实现了下,懵逼了,事件处理太繁琐,或者我的思路是错的?大家有什么思路么?谢谢。
    18 条回复    2016-12-22 18:06:36 +08:00
    lastObject
        1
    lastObject  
       2016-05-24 22:01:52 +08:00
    loveuqian
        2
    loveuqian  
       2016-05-24 22:08:34 +08:00
    我都还准备 cell 内套 table 呢
    父子控制器应该可以解决这个问题吧
    jackisnotspirate
        3
    jackisnotspirate  
       2016-05-24 22:46:34 +08:00 via iPhone
    Cell 里里面可以装 VC 啊
    blackfire
        4
    blackfire  
       2016-05-24 22:46:39 +08:00
    杀死手机 app 开发者系列真心不懂这么设计到底是有多好?
    如果其他页面是搬砖码起来的话,这样的页面完全就是积木搭起来的,维护的时候完全不敢去碰啊混蛋
    多层嵌套以后各种体验差(可能是我水平渣),作为第一用户的开发者视角完全骂人啊混蛋

    在萌币里前行吧少年,等你遇到 tableView 嵌套 scrollview 和 tableview ,其中的 scrollView 嵌套一个 webview 和一个 tableview 的需求时你就会觉得这也没什么了。为什么不能多点真诚,少点嵌套啊混蛋


    发泄完了,去嵌套吧
    zhlooking
        5
    zhlooking  
    OP
       2016-05-24 23:18:20 +08:00
    @lastObject 每错,就是套 :)
    @loveuqian @jackisnotspirate 父子控制器求详解?
    @blackfire 不,很蛋疼啊。
    zhlooking
        6
    zhlooking  
    OP
       2016-05-24 23:29:56 +08:00
    仔细看了下。上面的应该是一个单独的 View 。下面的是一个 ScrollView 中嵌套了两个 TableView ,通过 TableView 的 contentOffset.y 来移动上面的 View 的 origin.y 。这个思路对么?
    VichyChen
        7
    VichyChen  
       2016-05-25 09:46:33 +08:00
    @blackfire 道理大家都懂,求提供一个类似苹果商店首页布局的方法: tableView 里每个 cell 嵌套一个横向列表,苹果商店只有不到 10 几个,而我们这边的要求是 100 个。求推荐不嵌套还能有什么方法布局。。。
    spongebobsun
        8
    spongebobsun  
       2016-05-25 09:50:06 +08:00
    UITableViewCell 装 UICollectionView.
    lbj96347
        9
    lbj96347  
       2016-05-25 14:54:03 +08:00
    @VichyChen 在 UITableView 内装 WebView 呢。只要内存清理及时,放多少个 WebView 都没有问题。 WKWebView 是 WebKit 实现的,从 UIKit 上面分离出来了。性能也高。
    VichyChen
        10
    VichyChen  
       2016-05-26 16:14:52 +08:00
    @lbj96347 webView 好像也不错。几张图还行,我这里要显示 100 张图的话 webView 貌似一 load 就会全部图片 load 出来,没办法延迟加载了吧?
    toono
        11
    toono  
       2016-05-31 16:34:34 +08:00
    @spongebobsun 请问有什么这样子的栗子代码吗?现在就是做到这里,越写感觉坑越大, UITableViewCell 装 UICollectionView 之后 TableViewCell 的重用和数据是没问题,但是 CollectionView 的数据问题就大了,首先应该得每个 CollectionView 拥有一个数据源对象吧?但是如果数据源的实例话在 tableviewCell 的 datasource 里面写的话 CollectionView 的数据源们很可能都是同一个对象,这样就出问题了。哭泣脸
    spongebobsun
        12
    spongebobsun  
       2016-06-01 17:00:19 +08:00
    @toono 为啥数据源会是同一个对象喃。。。一个是 UITableViewDataSource 一个是 UICollectionViewDataSource 哇。。。还是我愚笨没理解你的意思。。。栗子不大好给。。。是公司的 code 。。。
    kitalphaj
        13
    kitalphaj  
       2016-06-02 07:59:59 +08:00
    @toono 重写 prepareForReuse ,在里面清空数据源。
    kitalphaj
        14
    kitalphaj  
       2016-06-02 08:04:17 +08:00
    @zhlooking 我写过 UIScrollView 套 UIWebView ,思路是 Disable 掉 UIWebView 的滚动,然后监听 UIScrollView 的滚动来手动设置 UIWebView 的 contentOffset 。这样可以实现给 UIWebView 加 Header, Footer 之类的效果。而且我记得滚动监听里面代码就 2 行。。。
    toono
        15
    toono  
       2016-06-03 23:50:08 +08:00
    @kitalphaj 我好像找到更好的实现办法 http://www.jianshu.com/p/c5d3ecc3ec5a
    fhefh
        16
    fhefh  
       2016-06-18 23:11:33 +08:00
    mark~~~~~
    HuangLibo
        17
    HuangLibo  
       2016-12-22 18:04:56 +08:00
    @loveuqian 父子控制器是正解!
    HuangLibo
        18
    HuangLibo  
       2016-12-22 18:06:36 +08:00
    @blackfire 一个包含各种板块的板块怎么可能不嵌套,不同的板块用子控制器来管理,不同的板块通过一个总线控制器来关联,每个板块各司其职。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4171 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 00:13 PVG 08:13 LAX 17:13 JFK 20:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86