我正在尝试在回收视图中添加section / header 因为我们必须处理
中的部分内容override func viewDidLoad() {
super.viewDidLoad()
let myPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: "myPanAction:")
self.player.view.addGestureRecognizer(myPanGestureRecognizer)
}
func myPanAction(recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)
if let myView = recognizer.view {
myView.center = CGPoint(x: myView.center.x, y: myView.center.y + translation.y)
}
recognizer.setTranslation(CGPointZero, inView: self.view)
if recognizer.state == UIGestureRecognizerState.Ended {
let velocity = recognizer.velocityInView(self.view)
if velocity.y > 100 {
dismissViewControllerAnimated(true, completion: nil)
} else {
// Reposition Back
}
}
}
}
但我有arraylist有n个数据。所以说第1部分可能有10行,其中第2部分可能有2行。所以如何在这种情况下定义部分。我知道这是第1部分的结尾?并把第二个
答案 0 :(得分:0)
迭代每个模型并记住每个模型项的上一个部分名称。当您找到新的部分名称时,只需映射索引。
在适配器中,返回的项目数量少于数据集。
@Override
public int getItemCount(){
return mData.size() + mSections.size();
}
始终使用position + 1
,因为您总是领先一个位置。
每当您到达属于映射索引的位置时,返回部分类型并相应地绑定它:
@Override
public int getItemViewType(int position) {
// here your custom logic to choose the view type
return isPositionSectionIndex(position) ? VIEW_TYPE_SECTION: VIEW_TYPE_ITEM;
}