SWIFT之UITABLEVIEW小知识点笔记

一、TableViewCell使用约束自适应高度的几种方式

1、//使用TABLEVIEW自带方法来自适应高度

lettestValue:NSString="aaaaaaaa"

functableView(tableView:UITableView, heightForRowAtIndexPath indexPath:NSIndexPath) ->CGFloat{

letattr = [NSFontAttributeName:UIFont.systemFontOfSize(17)]

returntestValue.boundingRectWithSize(CGSizeMake(300,0), options: .UsesLineFragmentOrigin, attributes: attr, context:nil).size.height

}

2、使用两行代码搞定

//初始高度60

table_view.estimatedRowHeight=60

//自适应高度

table_view.rowHeight=UITableViewAutomaticDimension

二、TableView向下滑动后顶部无法再滑回初始状态

self.automaticallyAdjustsScrollViewInsets = false

三、TableView无内容时取消分割线

table_view.tableFooterView = UIView()

四、uitableview刷新CELL的两种方式

1、用reloaddata来刷新全部CELL从而达到局部改变某些CELL样式、内容等或者全部重新加载;reloaddata不会改变CELL在屏幕中显示的位置;

2、tableView.beginUpdates()和tableView.endUpdates()采用动画式来reloadrow而不是reloadtableview。详解 http://www.cnblogs.com/breezemist/p/3538673.html 

五、UITableView继承了ScrollView的滚动特性,从而可以在tableview中添加滚动动画之类的动态效果

func scrollViewDidScroll(scrollView:UIScrollView) {

//出现在屏幕中的cells visibleCells

forcellintableView.visibleCells{

letbottomView = cell.contentView.viewWithTag(2000)

letimage = bottomView?.viewWithTag(2001)

letrect = bottomView?.convertRect((bottomView?.bounds)!, toView:nil)

varY =UIScreen.mainScreen().bounds.size.height- (rect?.origin.y)! -600

Y*=0.2

ifY>0{

Y=0

}

ifY < -100{

Y = -100

}

image?.frame.origin.y= Y

}

}

你可能感兴趣的:(SWIFT之UITABLEVIEW小知识点笔记)