Как внести изменения в файл cocoapods? - PullRequest
0 голосов
/ 09 февраля 2020

Я использую эту библиотеку для своего проекта - https://github.com/filletofish/CardsLayout, и я попытался изменить размер элементов в CardsCollectionViewLayout.swift, но она не работает .. она все еще остается прежней.

Я также пытался внести изменения путем разветвления библиотеки (как описано здесь Technerd: Редактирование заблокированных файлов из инфраструктуры CocoaPods ), но это также не работает.

Есть ли другой способ внести изменения в Pod? Или я просто делаю что-то не так этими двумя предыдущими способами

Редактировать:

   @IBOutlet var collectionView: UICollectionView!
    let cardLayout = CardsCollectionViewLayout()

    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView.collectionViewLayout = CardsCollectionViewLayout()
        collectionView.dataSource = self
        collectionView.delegate = self
        collectionView.isPagingEnabled = true
        collectionView.showsHorizontalScrollIndicator = false
        collectionView.isHidden = true
        // cardLayout.itemSize = CGSize(width: 50, height: 50)
        collectionView.collectionViewLayout = cardLayout
        searchInput.delegate = self
    }

1 Ответ

0 голосов
/ 09 февраля 2020

Вы должны показать код, который вы написали, чтобы настроить макет. Это помогло бы вам помочь.

Поместите код, связанный с collectionView, в блок didSet вашего свойства collectionView.
Следующий фрагмент кода должен работать для вас:

@IBOutlet weak var collectionView: UICollectionView! {  
   didSet {  
      let cardLayout = CardsCollectionViewLayout()  
      cardLayout.itemSize = CGSize(width: 50, height: 50)  
      collectionView.collectionViewLayout = cardLayout  
      collectionView.dataSource = self  
      collectionView.delegate = self  
      collectionView.isPagingEnabled = true  
      collectionView.showsHorizontalScrollIndicator = false  
      collectionView.isHidden = true  
   }  
}  

Никогда не меняйте файл в модуле. ! Ваши изменения будут потеряны при обновлении модуля!
Если вам когда-либо понадобится изменить поведение модуля, у вас есть варианты:

  • написать расширение, если оно соответствует вашим потребностям
  • используйте подклассы
  • , если вам нужно внести большие изменения, используйте вилку, как вы уже пробовали
  • , или вы можете добавить исходные файлы pods в базу кода вашего проекта. Но я бы не рекомендовал это, потому что это затруднило бы получение прибыли от обновлений, опубликованных в источнике pods.
...