分享

创建横向的UITableView

 wintelsui 2013-09-30
UITableView只支持竖向显示,要实现横向的显示,可以设置tableview的transform属性为CGAffineTransformMakeRotate(-M_PI/2),

即逆时针旋转90?,然后对所有的cell设置transform属性为CGAffineTransformMakeRotate(M_PI/2),即顺时针转90?,这样所有的cell内容即可正确的横向显示。对于设置坐标的技巧,可以在设置完transform属性后,在进行坐标的设置,若在之前设置,坐标会被transform属性旋转而得不到正确的位置。

cell的宽度为heightforrowatindexpath返回值,但是其高度为tableview的宽度(tableview的frame的width),这应该是系统自动设定。所以cell的高度可能非常大,导致contentview显示出现问题。解决的方案可以再cell的layoutsubviews里重新设定cell的frame为指定大小。

如果需要添加tableheaderview等,需要将该view也转π/2才可正确显示,此view的坐标和view上的subview坐标起始位置同cell。而且,调整了tableview的frame以后,如果reloaddata可能会造成headerview宽度变为tableview的宽度导致不能正确显示(与cell非常相似),需要再次调整view的frame才可。详细的情况可以通过tableview的subviews查看该view的frame。
创建横向的UITableView - newself - newselfs blog

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多