小编Tai*_*man的帖子

iOS 13 上未调用“systemLayoutSizeFittingSize”

systemLayoutSizeFittingSize我在 iOS 13 Beta 上遇到问题。我正在开发一个 NativeScript 插件,它使用 来systemLayoutSizeFittingSizeUICollectionViewCell测量和布局”单元格中的 UIView。我一直在做的是:

  • systemLayoutSizeFittingSize如果我需要强制测量/布局UIView单元格中的内容,请手动调用

或者

  • 等待操作系统调用systemLayoutSizeFittingSize并再次测量和布局UIView单元中的内容

systemLayoutSizeFittingSize在 iOS 13 beta 之前,这一切都运行得很完美,操作系统本身调用 API 的方式似乎发生了变化。在 iOS 13 beta 中,操作系统根本不调用该 API,而是使用collectionView:layout:sizeForItemAtIndexPath: API 来确定 UICollectionViewCell 的大小。在 iOS 12 及更低版本中,UICollectionView 完成其初始布局传递后,它会调用每个 UICollectionViewCell,systemLayoutSizeFittingSize这使您有机会让单元格告知其大小。在iOS 13中systemLayoutSizeFittingSize不再被称为。

也许我必须更改或调用 UIView 本身或 UICollectionView 才能使其像以前在 iOS 12 中一样工作,但我有点不明白我是否正确使用了它systemLayoutSizeFittingSize

所以我的问题是,我应该期望systemLayoutSizeFittingSize操作系统自动调用 a 还是这只是手动强制 aUICollectionViewCell告知其大小的一种方法?总的来说我使用得正确吗?

编辑:

经过进一步调查,iOS 13(测试版)上似乎有变化systemLayoutSizeFittingSizeestimatedItemSize当设置布局时,不再像以前那样调用它。我创建了一个项目来显示由这种行为变化引起的问题,我将向 iOS 团队报告这一问题。该项目可以在这里 …

ios uicollectionview ios13

3
推荐指数
1
解决办法
3780
查看次数

角度验证一对表单字段是否为空或两者都已填充

我创建了一个包含 4 到 5 个字段的学生表单。对于联系电话,我有 2 个字段,国家代码和电话号码。如果用户只输入两个字段之一,即输入了国家代码但电话号码不是,反之亦然,我想抛出错误。但是,如果两个字段都为空,则它是有效的,因为它们都是非必填字段。我不知道我怎么能做到这一点。请帮忙。提前致谢。

这是我的模板:

<mat-form-field >
<input matInput type="number"   formControlName="countryCode" placeholder="Country Code(+)" name="countryCode" class="form-control" id="countryCode">
</mat-form-field>
<mat-form-field >
<input matInput type="number" formControlName="phnNumber" placeholder="Phone Number" name="phnNumber" class="form-control" id="phnNumber">
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

我的表单组:

this.addForm = this.formBuilder.group({

      studentName: ['', Validators.required],
      phnNumber: new FormControl(''),
      countryCode: new FormControl(''),
    });
Run Code Online (Sandbox Code Playgroud)

javascript validation typescript angular

2
推荐指数
1
解决办法
2036
查看次数