如何在swift的uicollectionview中动态访问单元格属性
UICollectionView的帮助我正在使用textview显示内容。Collectionview包含10个单元格。我无法根据textview的内容大小指定textview的高度。我一次显示一个单元格。在故事板中,文本视图高度为240px。但是我需要根据内容大小扩展内容视图。我的代码如下。但如果我跑, 接收为时出错:展开具有nil值的读取访问时发生致命错误。请引导我如何在swift的uicollectionview中动态访问单元格属性,swift,ios8,uicollectionview,uitextview,Swift,Ios8,Uicollectionview,Uitextview,UICollectionView的帮助我正在使用textview显示内容。Collectionview包含10个单元格。我无法根据textview的内容大小指定textview的高度。我一次显示一个单元格。在故事板中,文本视图高度为240px。但是我需要根据内容大小扩展内容视图。我的代码如下。但如果我跑, 接收为时出错:展开具有nil值的读取访问时发生致命错误。请引导我 // MAIN CLASS class read_page: UIViewController, UICollectionV
// MAIN CLASS
class read_page: UIViewController, UICollectionViewDataSource,UICollectionViewDelegate
{
@IBOutlet var reading_collection_view: UICollectionView!
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section:
Int) -> Int {
return 10
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath:
NSIndexPath) -> UICollectionViewCell {
var cell = story_collection_view.dequeueReusableCellWithReuseIdentifier("story_read",
forIndexPath: indexPath) as story_reading_cell
cell.reading_area_txtvw.frame.size.height = 750
return cell
}
// This code is working. But, from 3rd cell onwards it is working. When we compile,
// textview does not change. After scrolling two more cells, it is working. How to get
// its size from first cell onwards? How to change cell size?
}
首先需要注册collectionViewCell,然后在cellForItemAtIndexPath中可以将该单元格出列 我也不会使用UIViewController,而是使用UICollectionViewController,因为它提供了默认的委托和数据源实现
class read_page: UICollectionViewController {
@IBOutlet var reading_collection_view: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
reading_collection_view.registerClass(reading_cell.self , forCellWithReuseIdentifier: "myCell")
}
//MARK: UICollectionViewDataSource
override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let myCell = reading_collection_view.dequeueReusableCellWithReuseIdentifier("myCell", forIndexPath: indexPath) as reading_cell
myCell.reading_area_txtvw.frame.size.height = myCell.reading_area_txtvw.contentSize.height
return myCell
}
}
线程1:EXC_BAD InstructionCode=EXC_1386错误:致命错误:在展开可选值时意外发现零