мне нужно изменить размер динамически в imagView при прокрутке представления коллекции в скор ...Swift - cellForItemAtIndexPath разворачивание необязательного значения при изменении размера изображений
я использовать эту функцию для ПОЛУЧИТЬ событие прокрутки:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
// get a reference to our storyboard cell
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! MyCollectionViewCell
let indexPathItem = self.items[indexPath.item]
if let myImage = cell.myImage{
myImage.image = imageWithImage(UIImage(named: indexPathItem)!, scaledToSize: CGSize(width: sizeImage, height: sizeImage))
}
return cell
}
и эта функция для изменения размера изображения:
func imageWithImage(image:UIImage,scaledToSize newSize:CGSize)->UIImage{
UIGraphicsBeginImageContext(newSize)
image.drawInRect(CGRect(x: 0,y: 0,width: newSize.width,height: newSize.height))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage.imageWithRenderingMode(.AlwaysTemplate)
}
отлаженные останавливается при запуске этой линии:
myImage.image = imageWithImage(UIImage(named: indexPathItem)!, scaledToSize: CGSize(width: sizeImage, height: sizeImage))
с ошибкой
"fatal error: unexpectedly found nil while unwrapping an Optional value"
работать, если я заменить, что с этим:
cell.myImage.image = UIImage(named : self.items[indexPath.item])
Но, очевидно, это не уменьшает изображение
может помочь мне пожалуйста ???
РЕШЕНИЕ: мне нужно изменить размер объекта «cell.myImage», а не «cell.myImage.image» так решено:
cell.myImage.frame = CGRect(x:0.0,y:0.0,width:sizeImage,height:sizeImage)
и режим ImageView установлен в камеру, как аспект приступ.
Как вы создаете объект indexPathItem? –
О да ... с этой строкой: 'let indexPathItem = self.items [indexPath.item]' items это мой массив с именем изображений – Ray13
Вам действительно нужно изменить размер вашего изображения? Кажется, что ваша прокрутка пострадает, почему бы просто не подогнать образ к imageView? –