스토리 보드에 설정된 컬렉션보기의 사용자 지정 셀이 있고 해당 셀 클래스에 연결된 콘센트가 있습니다.셀을 업데이트하려고하면 사용자 지정 CollectionView 셀의 레이아웃 요소가 사라집니다.
class MyCustomCollectionViewCell: UICollectionViewCell {
// MARK: Outlets
@IBOutlet weak var customImage: UIImageView!
@IBOutlet weak var customProgress: UIProgressView!
@IBOutlet weak var customLabel: UILabel!
}
초기 설정은 내 데이터베이스에있는 항목의 특정 상태에 따라 사용자 정의 이미지, 이름과 진행 상황을 설정하고, 완벽하게 작동합니다.
특히 상태 표시 줄과 관련된 변경 사항을 반영하여 컬렉션보기를 업데이트하고 싶습니다. 또한 상태 표시 줄이 완료되면 이미지도 변경되어야합니다. 타이머를 사용
timer = NSTimer.scheduledTimerWithTimeInterval(3, target: self, selector: #selector(MyViewController.updateUI), userInfo: self, repeats: true)
내가 초에 한 번씩 뷰 업데이트 할,보기가 나타날 때 시작 (I 효과적으로 테스트 3를 선택을뿐만 아니라만큼 어쩌면 20초 될 수있다). ,
reloadSections(mySection)
및reloadData()
모든 셀이 약간 깜박 원인 (확인 될 것이다)하지만 원인 :문제는 내가 모든 특정 단점을 가지고, 여기에 사용하는 어떤 방법을 모르는입니다 첫 번째 업데이트 후에 모든 진행 표시 줄이 완전히 사라집니다.
setNeedsLayout()
및setNeedsDisplay()
은 전혀 영향을 미치지 않는 것으로 보입니다. 아무 것도 보이지 않습니다.
모든 방법과 같이 self.collectionView
에있는 불렸다 :
@objc private func updateUI() {
// self.collectionView?.reloadSections(singleSection)
// self.collectionView?.reloadData()
// self.collectionView?.setNeedsLayout()
// self.collectionView?.setNeedsDisplay()
}
이 (내가 그들에게 한 모든 일을 시도) 내가 진행 바없이 (자동) 내보기를 업데이트 할 수있는 방법
사라지고 있니?
고마워, 이건 정말 나를 해결하는 데 도움이되었지만, 조금 다르게.기본적으로 진행 상황이 가득 찰 때까지 while 루프를 반복합니다. 그런 다음 이미지를 중지하고 변경할 수 있습니다. 다른 스레드에서이 작업을 수행하는 것이 좋습니다. – NerdyTherapist