创建横向的UITableView

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值