小编its*_*aaz的帖子

为什么导航栏内容会在iOS 11上显示,而不是在IOS 10上显示?

我们正在创建一个应用程序,它需要通过导航和标签视图控制器连接的不同视图的不同标题.初始视图具有图像作为标题.第二个视图将文本作为标题,第三个视图也将文本作为标题.

我们使用故事板来构建此应用程序,这是控制器的层次结构.

Navigation Controller --> Tab Bar Controller --> View Controller 1, View Controller 2, View Controller 3
Run Code Online (Sandbox Code Playgroud)

以下是我们用于在第一个视图控制器上显示图像的代码:

    override func viewWillAppear(_ animated: Bool) {
     super.viewWillAppear(animated)

     let titleView = UIImageView()
     titleView.contentMode = .scaleAspectFit
     titleView.image = UIImage(named: "logo_white_thin")

     self.parent?.navigationItem.titleView = titleView
     self.parent?.navigationController?.navigationBar.isHidden = false
     self.navigationController?.navigationBar.isHidden = false
    }
Run Code Online (Sandbox Code Playgroud)

这是我们用来显示文本作为其他两个视图控制器的标题的代码.

   override func viewWillAppear(_ animated: Bool) {
    guard let uid = Auth.auth().currentUser?.uid else {return}
    guard let username = users[uid]?.username else {return}

    self.parent?.navigationItem.titleView = title(text: username)
    self.parent?.navigationController?.navigationBar.isHidden = false
    self.navigationController?.navigationBar.isHidden = false

    print("Setting navigation …
Run Code Online (Sandbox Code Playgroud)

iphone uikit ios swift

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

如何从 PHAsset 获取视频的缩略图?

我正在尝试使用从用户的相机胶卷中提取的视频和照片的缩略图填充 UICollectionView。我以此处声明PHAsset的数组内部的形式从相机胶卷加载了所有媒体images:

var images = [PHAsset]()

的if-then循环检查,看看是否PHAsset可以是一个图像或视频。如果它是一个图像,它只是将它添加到集合视图中。但是,我不确定如何将视频的缩略图添加到集合视图中。任何帮助表示赞赏。

  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotoLibraryCollectionViewCell", for: indexPath) as! PhotoLibraryCollectionViewCell
    let asset = images[indexPath.row]

    if asset.mediaType == PHAssetMediaType.image {
        let manager = PHImageManager.default()
        let option = PHImageRequestOptions()
        var thumbnail = UIImage()
        option.isSynchronous = true
        manager.requestImage(for: asset, targetSize: CGSize(width: 138, height: 138), contentMode: .aspectFit, options: option, resultHandler: {(result, info)->Void in
            thumbnail = result!
        })
        cell.imageView.image = thumbnail …
Run Code Online (Sandbox Code Playgroud)

swift phasset

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

如何使用平移手势限制对象可以移动到另一个视图的边界的区域?

我想限制 UITextView 可以移动到另一个视图的框架的区域。我尝试使用以下代码完成此操作,但是,它不会正确限制用户可以拖动 UITextView 的位置:

@IBOutlet weak var canvas: UIView! 

@IBAction func handleDragOfCaption(_ sender: UIPanGestureRecognizer) {

    if sender.state == .began || sender.state == .changed {

        guard let senderView = sender.view else {return}

        let translation = sender.translation(in: sender.view)
        let x = senderView.center.x + translation.x
        let y = senderView.center.y + translation.y
        let point = CGPoint(x: x, y: y)

        if canvas.frame.contains(point) {
            senderView.center = point
            sender.setTranslation(CGPoint.zero, in: senderView)
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

请参阅下图以直观地表示我要完成的工作。我只希望用户能够在 UIView(这是 UITextView 下方的白色方块)的边界内拖动 UITextView。任何帮助,将不胜感激。

在此处输入图片说明

ios swift

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

标签 统计

swift ×3

ios ×2

iphone ×1

phasset ×1

uikit ×1