Итак, я столкнулся с некоторыми проблемами с UICollectionView, который есть в моем проекте Xamarin для iOS.
Ячейки для CollectionView не расширяются с меткой в них. У метки в ячейке строк установлено значение 0 и следующие ограничения:
В моем ViewDidLoad () Я настроил CollectionView следующим образом:
var source = new CustomCollectionViewSource(collectionView);
collectionView.Source = source;
collectionView.SetCollectionViewLayout(new UICollectionViewFlowLayout()
{
ScrollDirection = UICollectionViewScrollDirection.Vertical,
EstimatedItemSize = new CGSize(collectionView.Frame.Width, 10)
}, false);
var set = this.CreateBindingSet<MainViewController, MainViewModel>();
set.Bind(source).For(v => v.ItemsSource).To(vm => vm.DataSource);
set.Apply();
и мой CollectionViewSource
public class CustomCollectionViewSource : MvxCollectionViewSource
{
public IList<Item> Messages { get; set; }
public override void ReloadData()
{
var list = (ItemsSource as IEnumerable<Item>).ToArray();
Messages = list;
}
public CustomCollectionViewSource(UICollectionView collectionView) : base(collectionView)
{
collectionView.RegisterNibForCell(CustomCollectionViewCell.Nib, CustomCollectionViewCell.Key);
}
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
{
var cell = collectionView.DequeueReusableCell(CustomCollectionViewCell.Key, indexPath) as CustomCollectionViewCell;
cell.DataContext = Messages.ElementAtOrDefault(indexPath.Row);
return cell;
}
}
Я пытаюсь, чтобы ячейки были шириной представления коллекции и чтобы высота была гибкой; однако всякий раз, когда я заполняю клетки, я всегда получаю что-то вроде этого:
Ячейки обрезаны и имеют в конце эллипсы. Я читал в Интернете, что ограничения должны быть правильными для динамического изменения размера, так что я что-то упускаю?
Я также прочитал, что для получения вычисленной высоты для каждой ячейки я могу загрузить кончик ячейки, заполнить ее, а затем установить размер вручную в пользовательском UICollectionViewDelegate. Классная идея, но я мог найти любые рабочие примеры для Xamarin iOS.
Пожалуйста, дайте мне знать, если что-то мне не хватает, или любую другую информацию, которая вам требуется. Заранее спасибо!