小编SPa*_*tel的帖子

UIWorkIntervalTiming workIntervalStart

滚动时获取控制台日志ScrollView。有办法删除吗?

2019-03-27 12:33:34.109573 + 0530 MyApp [10465:46241] [UIWorkIntervalTiming] workIntervalStart:startTimestamp> targetTimestamp; 向前滚动1.116667

xcode uiscrollview ios xcode10.2

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

在AVPlayer的请求中添加自定义标头字段

使用AVPlayer时,是否可以将带有http请求的标头发送到音频文件?我需要能够在服务器收到时检查标头的内容,以限制对所请求文件的访问.

avfoundation ios avplayer

23
推荐指数
4
解决办法
1万
查看次数

有没有办法观察UIViewPropertyAnimator中fractionComplete的变化

我一直在关注UIViewPropertyAnimatoriOS 10中非常酷的新课程.它可以让您轻松地执行暂停,恢复和反向飞行UIView动画等操作.过去,您必须操纵系统创建的基础CAAnimations才能使用UIView动画执行此操作.

UIViewPropertyAnimator班级有一个属性fractionComplete.它从0.0(动画开始)到1.0(动画结束)不等.如果更改了值,则可以从头到尾"擦除"动画.

我在Github上有一个名为KeyframeViewAnimations的演示项目,它允许你使用滑块来使用相当神秘的CAAnimation技巧来回擦洗UIView和CAAnimations.当动画运行时,滑块从头到尾移动以显示动画的进度.该项目是在Swift发布之前用Objective-C编写的,但Objective-C或Swift中的底层技术是相同的.

我决定使用创建一个等效的项目UIViewPropertyAnimator.有一些怪癖,但它相当简单.我无法弄清楚如何干净利落的一件事是观察动画fractionComplete属性的进度,以便我可以随着动画的进展更新滑块.我尝试在fractionComplete属性上设置KVO(键值观察),但在动画完成之前它不会触发KVO通知.

我落得这样做是建立上一个很小的间隔运行,并查询定时器UIViewPropertyAnimatorfractionComplete反复性和更新滑块,因为它的进展.它有效,但它不是一种非常干净的做事方式.如果有办法获得有关动画进度的通知会好得多.

我希望有一些我想念的东西.

您可以UIViewPropertyAnimator在此链接上查看Github上的基础项目:UIViewPropertyAnimator-test.

从动画师获取进度值的代码是以下代码:

func startTimer(_ start: Bool) {
  if start {
    timer = Timer.scheduledTimer(withTimeInterval: 0.02,
     repeats: true) {
        timer in
        var value = Float(self.viewAnimator.fractionComplete)
        if self.animatingBackwards {
          value = 1 - value
        }
        self.animationSlider.value = value
     }
  }
  else {
    self.timer?.invalidate()
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该将上面的代码转换为使用CADisplayLink计时器而不是vanilla Timer(NSTimer),但我希望有更好的方法.

animation uiview ios swift uiviewpropertyanimator

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

使用KVO观察UIView的子视图数组中的更改

我已经四处寻找答案,我试图实现它,但没有任何工作.基本上,我需要能够观察VC视图的子视图数组中的更改.如果从该数组中删除现有视图,我希望收到有关它的通知并运行一些代码.

可能吗?

编辑 - 更多信息

我正在尝试修复一个奇怪的边缘案例错误,快速点击UISearchDisplayController(非常自定义)的UISearchBar会导致sdController(或者更确切地说是navBar效果中的托管searchBar)从视图中消失,但sdController仍然是STILL活性.这意味着navBar停留在-y原点,下面的tableView不可滚动.

我最初的想法是进入sdController处于活动状态,但UISearchDisplayControllerContainerView不在视图层次结构中.我尝试在VC的viewDidLayoutSubviews中测试它,但是当你点击搜索栏并启动sdController动画时,sdController处于活动状态,而UISearchDisplayControllerContainerView不在视图层次结构中:(.

objective-c key-value-observing subview uiview ios

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

为什么不能使用协议`Encodable`作为func中的类型

我正在尝试通过符合Encodable协议的编码模型获取数据.但它无法encode像下面的代码那样调用func :

// MARK: - Demo2

class TestClass2: NSObject, Encodable {
    var x = 1
    var y = 2
}


var dataSource2: Encodable?

dataSource2 = TestClass2()

// error: `Cannot invoke 'encode' with an argument list of type '(Encodable)'`
let _ = try JSONEncoder().encode(dataSource2!)
//func encode<T>(_ value: T) throws -> Data where T : Encodable
Run Code Online (Sandbox Code Playgroud)

但在另一个演示中,它运作良好,为什么?

// MARK: - Demo1

protocol TestProtocol {
    func test()
}

class TestClass1: NSObject, TestProtocol {
    func test() {
        print("1")
    }

    var …
Run Code Online (Sandbox Code Playgroud)

protocols swift encodable

10
推荐指数
3
解决办法
3194
查看次数

Xcode 10.3损坏的Xib

将xocde更新到10.3版本后,无法查看或操作所有xib文件。
有什么解决办法吗?

我的操作系统版本:10.14.4(18E226)

删除衍生数据[无效]

在此处输入图片说明

xcode ios xcode10.3

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

无法解除CNContactViewController

我试图让用户创建一个新的联系人.虽然我有屏幕提示用户输入他的所有细节,但顶部没有导航栏(就像默认的Apple Contacts应用程序中一样).没有办法退出现场.我在swift 2.0和Xcode 7.3中使用了ContactUI框架.这是代码:

// create a new contact
    let createNewActionHandler = {(action: UIAlertAction) -> Void in
        let newContact = CNMutableContact()

        let contactPicker = CNContactViewController(forNewContact: newContact)
        contactPicker.delegate = self
        contactPicker.navigationController?.setToolbarHidden(false, animated: false)
        self.presentViewController(contactPicker, animated: true, completion: nil)

    }
Run Code Online (Sandbox Code Playgroud)

这是我想要得到的: Apple默认

这就是我拥有的: 我拥有的

我正在选项卡视图控制器中的操作表中启动新的联系人视图控制器.我尝试在导航视图控制器中嵌入选项卡,但没有效果.我甚至尝试设置navController的setToolbarHidden属性,但它没有帮助.

谢谢你的帮助.我看到其他论坛提出的问题,但他们没有帮助.

uinavigationbar uiviewcontroller uinavigationcontroller ios swift

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

使用 collectionview 注册笔尖

我有 FeedCell.swift 和 FeedCell.xib,在 feedcell xib 中,我将单元格自定义类设置为“FeedCell”

视图控制器 viewDidLoad 中的代码

collectionView.register(UINib(nibName: "FeedCell", bundle: .main), forCellWithReuseIdentifier: "feedCell")
Run Code Online (Sandbox Code Playgroud)

问题

我想继承 FeedCell 并将该类与 collectionView 一起使用,例如:

class FeedCell:UICollectionViewCell {
    @IBOutlet weak var showImageView: UIImageView!
    @IBOutlet weak var showIconImageView: UIImageView!

}

class AppFeedCell: FeedCell { 
    override func awakeFromNib() {
       super.awakeFromNib()
       // configure cell
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在 collectionview 中注册/使用 FeedCell 和 AppFeedCell?

xib ios uicollectionview uicollectionviewcell swift

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

iOS 通用链接无法通过 TestFlight 工作

我是 iOS 的新手,并设法在此之后为应用程序实现了 iOS 通用链接。

我已经创建并上传了apple-app-site-association并配置/准备了应用程序来处理通用链接。

一切正常,当我通过 xCode 将应用程序构建到真实设备中时,我可以成功测试它。但是,通过 TestFlight 安装应用程序时,通用链接不起作用。

通过 xCode 安装应用程序时,我可以在我的 Web 服务器中看到对 apple-app-site-association 文件的 HTTP 请求。但是当通过 TestFlight 安装它时,似乎并没有尝试获取关联文件。

有谁知道这是否是预期的,或者在 TestFlight 上部署时如何使通用链接正常工作?

iphone ios swift ios-universal-links apple-app-site-associate

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

在 iOS 中播放 m3u8 文件

我知道这个问题问了很多次但没有得到正确的解决方案,

我有一个 m3u8 文件无法在 AVPlayer 中工作,但是如果我使用互联网上已有的其他 m3u8 文件,并且可以与 AVPlayer 正常工作,这是我的代码

func playVideo() {
    let videoURL = URL(string: "https://architectsummit.s3.us-east-2.amazonaws.com/hls/playlist-with-vtt.m3u8")
    let player = AVPlayer(url: videoURL!)
    var playerViewController = AVPlayerViewController()
    playerViewController.player = player
    DispatchQueue.main.async {
        self.present(playerViewController, animated: true) {
            playerViewController.player!.play()
        }
    }
}      
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我使用了我们的开发人员提供的 m3u8 文件,但是如果我在上面的代码中使用这个 url ' https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8 ' 视频正在播放什么任何人都可以帮助我的问题。

ios avplayer swift

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