小编Cha*_*kle的帖子

我可以通过编程方式创建UIContainerView吗?

我正在尝试创建一个使用UIContainerViews来托管UIViewControllers的动态View流.需要以编程方式将UIContainerViews(或UIViewControllers)添加到UIView以允许多个并排.

我一直在环顾四周,但找不到任何可以用来创建我的UIContainerView的构造函数.

有没有一种简单的方法可以做到这一点,还是反对创建可重用视图的正常准则?

总而言之,我想实现这样的目标:

var containerView = UIContainerView()
containerView.add(myViewController)
Run Code Online (Sandbox Code Playgroud)

ios uicontainerview swift

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

如何在谷歌地图中的折线上方添加文字?

我有2个标记,我想在它们之间画一条线,并有一个文本显示线上方的距离,就像谷歌地图的网页版本一样.

地图

我已经发现这个样品约2个绘制标记之间的线路,但我怎么添加一行上面的文字?

android google-maps google-maps-android-api-2

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

如何将Objective-C NSError指针传递给Swift函数?

我正在将Swift数据结构实现到Objective-C中,并且我很难"返回"2个值.

我的swift实现最初使用了一个元组来返回resultData和一个错误:

func getData(email: String) -> (SomeResultdata?, NSError?)
Run Code Online (Sandbox Code Playgroud)

但由于元组不是Objective-C中的一个特性,因此该函数不会暴露给Objective-C.我现在已经实现了一个专门用于返回SomeResultData的方法,但是也为传递的指针引用分配了一个NSError.见下文:

@objc func getData(email: String, var withError err: UnsafeMutablePointer<NSError?>) -> SomeResultdata? {
  let (credentials, error) = self.getData(email)
  // This self.getData(email) is the Swift implementation (returns tuple)
  err = &error
  return credentials
}
Run Code Online (Sandbox Code Playgroud)

我得到的两个错误是

方法不能标记为@objc,因为参数2的类型不能在Objective-C中表示

无法将表达式的类型'()'转换为'inout $ T2'

pointers objective-c nserror ios swift

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

你如何为组合 UICollectionViewLayouts 动画 NSCollectionLayoutVisibleItem?

我正在尝试使用 iOS13 引入的新的组合布局 API,它们非常棒 - 但我有一个特别的问题,关于它的官方文档很少。

我正在寻找NSCollectionLayoutVisibleItem使用visibleItemsInvalidationHandler. 到目前为止,我已经尝试了两种不同的方法:

  1. 使用UIView属性动画
layoutSection.visibleItemsInvalidationHandler = { (visibleItems, offset, env) in
    let normalizedOffsetX = offset.x + centeredPadding
    let centerPoint = CGPoint(x: normalizedOffsetX + collectionView.bounds.width / 2, y: 20)
    visibleItems.forEach({ item in
         UIView.animate(withDuration: 0.3) {
             item.transform = item.frame.contains(centerPoint) ? .identity : CGAffineTransform(scaleX: 0.9, y: 0.9)
         }
    })
}
Run Code Online (Sandbox Code Playgroud)
  1. 使用CATransaction动画师
layoutSection.visibleItemsInvalidationHandler = { (visibleItems, offset, env) in
    let normalizedOffsetX = offset.x + centeredPadding
    let centerPoint = CGPoint(x: normalizedOffsetX + …
Run Code Online (Sandbox Code Playgroud)

cgaffinetransform ios uicollectionview swift ios13

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