У меня была такая же проблема с моим представлением коллекции, лучшее решение - добавить функциональность в ваш GameCollectionViewCell
скажем updateView()
и добавить элементы пользовательского интерфейса в подпредставление
func updateView() {
var princess : UIImageView = UIImageView(image: UIImage(named: "CategoryImages/"+card!.contentImage)?.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0 )))
var size : CGSize = CGSize(width: rect.size.width-1.8, height: rect.size.height-1.8)
var origin : CGPoint = CGPoint(x: rect.origin.x+0.9, y: rect.origin.y+0.9)
var princessRect : CGRect = CGRect(origin: origin, size: size)
princess.frame = princessRect
princess.layer.masksToBounds = true
princess.layer.cornerRadius = 2;
addSubview(princess)
}
И внутри viewcontroller при создании ячейки для indexpath вызывает вышеуказанный метод
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellId", for: indexPath) as! GameCollectionViewCell
cell.updateView()
return cell
}
Это главным образом сводится, чтобы сделать Вас, хотят использовать Дистанционную работу Spring (какой Spring RMI и Camel Apache являются реализациями) - или сделайте Вы хотите использовать JAX-WS для веб-сервисов (который CXF или реализация Метро). т.е. Вы хотите автоматическую дистанционную работу для своего POJOs - или Вы хотите WS с контрактами WSDL и т.д.
После того как Вы выбрали технологию дистанционной работы; Ваше следующее решение, делают Вы хотите связать его в своем приложении, как библиотека (например, Spring RMI или Camel) - или сделать Вас хочет развернуться, оно в контейнере ESB как ServiceMix для сможения к горячему - повторно развертывает модули и т.д.
Если последний является Вашим выбором, затем используют Apache ServiceMix - или используют ESB FUSE, если Вы хотите коммерческое распределение с большим количеством документации, частые выпуски, коммерческая поддержка и т.д.
Дистанционная работа Spring походила бы на самый простой подход. Это также оставило бы Вас открытыми для более сложных подходов в будущем, если это - направление, Вы хотите взять.
От ограниченного представления Ваших требований я придерживался бы простого решения с более низкой кривой обучения и оставил бы ESB, пока Вы не решаете фактическую необходимость в нем.
Принцип KISS является замечательной вещью.
Здесь вы можете найти простое решение для интеграции Metro и Camel вместе: http://www.everit.biz/web/guest/everit-blog/-/blogs/calling -a-camel-route-from-web-service-using-metro-and-tomcat? _33_redirect = / web / guest / everit-blog