亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CollectionView 單元格高度不會自動調整大小

CollectionView 單元格高度不會自動調整大小

C#
蕭十郎 2022-07-23 17:12:23
因此,我在 Xamarin iOS 項目中遇到了 UICollectionView 的一些問題。CollectionView 的單元格沒有隨著其中的標簽展開。單元格中的標簽具有設置為 0 的行和以下約束:(頂部,底部,前導,尾隨)到超級視圖高度 >= 10在我的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;    }}我試圖讓單元格成為集合視圖的寬度,并使高度靈活;但是,每當我填充單元格時,我總是會得到這樣的結果: 單元格被截斷并且最后有一個橢圓。我在網上讀到,約束必須正確才能動態調整大小,所以我缺少什么嗎?https://i.stack.imgur.com/7hA9g.png https://i.stack.imgur.com/GY6wi.png 我還讀到,要獲得每個單元格的計算高度,我可以加載單元格的筆尖,填充它,然后在自定義 UICollectionViewDelegate 中手動設置大小。很酷的想法,但我可以找到任何適用于 Xamarin iOS 的工作示例。如果我遺漏了什么或您需要任何其他信息,請告訴我。提前致謝!
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

1.使您的標簽支持多行

textLabel.LineBreakMode = UILineBreakMode.WordWrap;textLabel.Lines = 0;

2.設置單元格估計高度

cell.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize

注意事項:

  • 要定義單元格的高度,您需要一個完整的
    約束鏈和視圖(具有定義的高度)來填充
    內容視圖的頂部邊緣和底部邊緣之間的區域。

  • 如果您的視圖具有內在的內容高度,系統將使用這些值。如果沒有,您必須將適當的高度約束添加到視圖或內容視圖本身。


查看完整回答
反對 回復 2022-07-23
  • 1 回答
  • 0 關注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號