小编Kel*_*Lau的帖子

collectionView页脚未显示

我已经检查了section footer,如下面的屏幕截图所示。

collectionViewAttributesInspector

我还实现了该dataSource方法:

  override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
    if kind == UICollectionElementKindSectionHeader {
      var header = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "Header", forIndexPath: indexPath) as? DetailHeader
      if header == nil {
        header = DetailHeader()
      }
      return header!
    } else {
      println("footer")
      var footer = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "Footer", forIndexPath: indexPath) as! UICollectionReusableView
      return footer
    }

  }
Run Code Online (Sandbox Code Playgroud)

我可以显示页眉,但从不显示页脚。该println从来没有触发任何。

ios swift

4
推荐指数
2
解决办法
4278
查看次数

定制测量单位

在iOS 10中,Apple引入了几个用于量化测量的组件。例如:

let velocity = Measurement(value: 3, unit: UnitSpeed.metersPerSecond)
Run Code Online (Sandbox Code Playgroud)

尽管冗长,但好处是您可以转换为任何其他单元,而无需进行容易出错的嵌入式计算:

// before
let velocityMetersPerSecond = 3.0
let velocityKilometersPerHour = velocityMetersPerSecond * 1000 / 60

// after
let velocityKilometersPerHour = velocity.converted(to: .kilometersPerHour)
Run Code Online (Sandbox Code Playgroud)

尽管Apple直接支持许多设备,但我需要一个他们不支持的设备。但是,Apple确实考虑了可扩展性,而引入新指标的一种方法是扩展Unit类:

extension UnitSpeed {
  static let furlongPerFornight = 
    UnitSpeed(symbol: "fur/ftn", converter: UnitConverterLinear(coefficient: 
      201.168 / 1209600.0)
}
Run Code Online (Sandbox Code Playgroud)

我需要从源头meters/second到单位的速度min/km。以下是转换的工作原理:

min / km = 1 / (m / s) * 1000 / 60
Run Code Online (Sandbox Code Playgroud)

我遇到的麻烦是如何将源值的乘法逆(或倒数)表达为转换。这是一个错误的版本:

extension UnitSpeed {
  // still missing 1 / source value!
  static let …
Run Code Online (Sandbox Code Playgroud)

measurement ios swift

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

你如何在终端中停止python SimpleHTTPServer?

我通过命令启动了SimpleHTTPServer python -m SimpleHTTPServer 9001.

我想在不必强行退出终端的情况下阻止它.停止它所需的按键是什么?

python simplehttpserver

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

状态栏下的CollectionView标头内容

以下是启用了安全区域布局指南的限于超级视图的顶部,左侧,右侧和底部的集合视图:

在此处输入图片说明

我希望我的收藏视图标题显示状态栏下。对于iPhone 4-8+的屏幕尺寸,我已经实现了这一点,方法是取消选中控制器main的大小检查器中的“安全区域布局指南”view,并添加以下代码:

collectionView.contentInset = UIEdgeInsets(top: -20, left: 0, bottom: 0, right: 0)
Run Code Online (Sandbox Code Playgroud)

对于非iPhone X视图尺寸,这看起来很棒:

在此处输入图片说明

但是,对于iPhone X,这将导致以下输出:

在此处输入图片说明

iPhone X在状态栏上有其自己的尺寸。进一步调整顶部插图确实可以,但是会抵消其他设备的尺寸。我想知道是否有一种更优雅的方式来实现此行为。

ios uicollectionview safearealayoutguide iphone-x

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

GCD调度组的并发限制是多少?

我一直在使用A DispatchGroup来促进应用程序中的多个并发调用。

我的后端团队注意到,当我尝试进行八个并发呼叫时,它们被分为四个批次的两个批次。

  1. 四个并发呼叫是否限制了GCD?
  2. 这是GCD框架的限制,还是取决于硬件?
  3. 有没有办法允许更多并发呼叫?

grand-central-dispatch ios swift

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

使用SwiftUI调整宽度/水平对齐

我在以下方面实现了以下布局SwiftUI

VStack {
  TextField(...)
  TextField(...)
  Button(...)
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我尝试使VStack占Superview的50%,因此添加了以下修饰符:

VStack { ... }
  .relativeWidth(0.5)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

并不是50%的超级视图,但是我对实现水平居中更加感兴趣。有人知道如何在SwiftUI中实现吗?

有一个alignmentGuide(_:computeValue:)可用的修饰符,但我一直在努力提供正确的输入来满足编译器的要求。

swift swiftui

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

在按钮中居中文本

我有以下内容View

HStack {
  ...
  VStack {
    ...
    Button(action: model.signIn) {
      HStack {
        Text("Sign In")
        Spacer()
      }
    }.relativeHeight(2).background(Color.green).cornerRadius(5)
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

这允许我创建以下 UI:

在此处输入图片说明

Spacer内部的HStackButton是一个不错的入侵,所作的按钮延伸到它的父的宽度。但是,文本仍然处于领先地位。

任何人都知道如何将按钮内的文本居中?

swift swiftui

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