我想让AutoLayout UIScrollView与它一起工作,并且我遇到了一些麻烦.这是我做的:
UIScrollView在主视图内添加框架:[top:0,left:0,width:320,height:568]
UIView在UIScrollViewwith frame和bgcolor black中添加"ContentView" :[top:0,left:0,width:320,height:568]
设置UIScrollView约束:[top:0,bottom:0,left:0,right:0]
设置"ContentView"约束:[top:0,bottom:0,left:0,right:0]
对齐"ContentView"中的项目
将主视图bgcolor设置为灰色(查看发生了什么)
以下是问题的屏幕截图:http://imgur.com/P8s9lB0
由于某种原因,约束使内容视图位于屏幕的中间.此外,它向各个方向滚动.我希望内容只能在垂直方向上滚动UITableView,所以我不能这样移动:http://imgur.com/lBCwfAS
我究竟做错了什么?我已经检查了StackOverflow和Google中可以找到的所有教程和答案,并且没有人真正有一个奇怪的问题,所以我正在寻求帮助.
编辑:我还添加了ContentView的宽度和高度作为约束,这也没有帮助.
这是我正在尝试做的事情:

屏幕截图来自6s iPhone。

我一直在AVAudioPlayer中工作,我想绘制一个看起来像第一个屏幕截图的波形。我正在使用FDWAVEFORMVIEW Github吊舱绘制波浪。但是我很困惑如何画同样的波浪。
码:
@IBOutlet weak var soundWaveView: FDWaveformView!
func createSoundWave() {
soundWaveView.delegate = self
soundWaveView.alpha = 0.0
soundWaveView.audioURL = mainTrackURL
soundWaveView.zoomSamples = 0 ..< soundWaveView.totalSamples / 3
soundWaveView.doesAllowScrubbing = true
soundWaveView.doesAllowStretch = true
soundWaveView.doesAllowScroll = true
soundWaveView.wavesColor = .lightGray
soundWaveView.progressColor = UIColor.init(red: 46/255, green: 188/255, blue: 191/255, alpha: 1.0)
}
func waveformViewWillRender(_ waveformView: FDWaveformView) {
startRendering = Date()
}
func waveformViewDidRender(_ waveformView: FDWaveformView) {
endRendering = Date()
NSLog("FDWaveformView rendering done, took %0.3f seconds", endRendering.timeIntervalSince(startRendering))
profileResult.append(String(format: " …Run Code Online (Sandbox Code Playgroud) 我试图让layout里面scrollview使用这个教程https://www.youtube.com/watch?v=UnQsFlMGDsI
并得到以下结果 http://youtu.be/iPfzyLbEZMA
任何建议或教程链接都将受到赞赏.它只需要垂直滚动
问题:当我尝试删除子视图时应用程序崩溃。
上下文:我有一个使用模型对象更新的 UICollectionViewCell。我试过将这些方法放入prepareForReuse和/或update(model: viewModel)方法中。
注释:该线That view's superview: NO SUPERVIEW突出。我在调用之前将子视图添加回removeFromSuperView()以确保在 superView 中有一些并且它仍然会崩溃。
timelineView一旦所有旧实例都被清除,我稍后会重新添加新生成的类实例。
它仅在滚动约 50-150 个单元格后崩溃
更新:感谢您在评论中的反馈。我不会从单元格中删除所有视图。只有一个具有可变数量组件的堆栈视图。但是您有权删除子视图与取消。我更好奇这样的事情是stackView.subviews.first?.removeFromSuperview()如何失败的,因为这似乎是一个相对安全的调用(或者我对此完全错了)。
第一次尝试
for subview in stackView.subviews {
subview.removeFromSuperview() // Crash
}
Run Code Online (Sandbox Code Playgroud)
第二次尝试
let subviews = stackView.subviews
for subview in subviews {
if stackView != nil && subview.superview != nil && subview.responds(to: #selector(removeFromSuperview)) && stackView.superview != nil {
stackView.subviews.first?.removeFromSuperview() // Crash
}
}
Run Code Online (Sandbox Code Playgroud)
第三次尝试
let subviews = stackView.subviews
for subview in …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个(工作)教程的日子,甚至是一个使用UIScrollView垂直滚动的示例应用程序,这是编程的.有很多关于使用故事板的教程,让我感到茫然.
我查看了苹果的文档,他们的"指南"仍然没有一个坚实的例子或暗示从哪里开始.
我到目前为止所尝试的是做了以下一些事情.
让我的视图成为一个直接在课堂上的scrollview
let scrollView = UIScrollView(frame: UIScreen.mainScreen().bounds)
Run Code Online (Sandbox Code Playgroud)
然后将其分配给我的viewDidLoad函数中的视图
self.view = scollView
Run Code Online (Sandbox Code Playgroud)
试图更改内容大小.
self.scrollView.contentSize = CGSize(width:2000, height: 5678)
Run Code Online (Sandbox Code Playgroud)
试图启用滚动
scrollView.scrollEnabled = true
Run Code Online (Sandbox Code Playgroud)
以编程方式执行此操作时我能找到的最后一个建议
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.frame = view.bounds
}
Run Code Online (Sandbox Code Playgroud)
目前我没有尝试开始将我的对象添加到scrollview,(我不需要缩放,只需要进行垂直滚动),但我没有设法得到任何工作:(事实上,运行应用程序与那些添加只会导致UIProblems,屏幕向上移动奇怪,它不适合我的屏幕的整个宽度?我尝试修复使框架边界等于宽度,但仍然无法正常工作
我没有收到任何错误.
我很想看到一个可以垂直滚动的示例viewcontroller!或任何帮助将非常感谢!
编辑灾难的屏幕截图,尝试使我的视图可滚动导致.
http://i.stack.imgur.com/gQ0SC.png
(链接而不是图像,由于缺少直接放置图像的点.)
(我将滚动视图背景设置为红色,看看它是否显示正确.它似乎是.但我不能滚动到任何地方
正如评论中所建议的那样,我没有使用self.view = self.scrollview,而是尝试将scrollview添加为self.view的子视图,但没有取得积极的结果.
编辑2:
加入
scrollView.contentSize = CGSize(width:2000, height: 5678)
Run Code Online (Sandbox Code Playgroud)
to viewDidLayoutSubviews,如下面的评论中所建议的那样使我的视图可滚动!
然而,由于某种原因,我的布局仍然看起来像一个完全混乱(看起来它应该是,在我使它可滚动之前).
这是我的topBar(蓝色)的示例约束,它应该占据整个水平空间.
self.scrollView.addConstraints(
NSLayoutConstraint.constraintsWithVisualFormat(
"H:|[topBar]|", options: nil, metrics: nil, views: viewsDictionary))
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?
我正在尝试构建一个播放Spotify歌曲的应用程序。我真的很困惑如何更改Spotify歌曲的BPM(每分钟节拍数)值。
第一步:通过Spotify登录。
第二步:获取当前用户所有专辑。
第三步:获取专辑曲目。
最后一步:播放曲目。
我已经完成了Spotify代表的所有步骤。但我想更改轨道的BPM值。
有人可以向我解释如何更改BPM值吗?
这是我想要做的:

屏幕截图来自 6s iPhone。

我一直致力于创建视频 wavefrom,我想绘制一个看起来像第一个屏幕截图的波形。我正在使用VIWaveformView Github pod 来绘制波浪。但我很困惑如何绘制相同的波浪。
代码:
@IBOutlet weak var vWmainWave: VIWaveformView!
override func viewDidLoad() {
super.viewDidLoad()
vWmainWave.waveformNodeViewProvider = BasicWaveFormNodeProvider(generator: { () -> NodePresentation in
let view = VIWaveformNodeView()
view.waveformLayer.strokeColor = UIColor(red:0.86, green:0.35, blue:0.62, alpha:1.00).cgColor
return view
}())
vWmainWave.layoutIfNeeded()
if let url = Bundle.main.url(forResource: "bulletTrain", withExtension: "mp4") {
let asset = AVAsset.init(url: url)
_ = vWmainWave.loadVoice(from: asset, completion: { (asset) in
})
}
}
Run Code Online (Sandbox Code Playgroud)
问题:如何显示与原始图像相同的波浪(第一张截图)?
有人可以向我解释如何绘制相同的,我已经尝试绘制这些波浪,但还没有结果。
任何帮助将不胜感激。
提前致谢。
我正在使用xcode 9 beta 5.我实际上添加了逆向
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "H: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "V: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
Run Code Online (Sandbox Code Playgroud)
我收到了错误.
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "H: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
addConstraint(NSLayoutConstraint.constraints(withVisualFormat: "V: |-16-[v0]-16-|" , options: NSLayoutFormatOptions(), metrics: nil, views: ["v0":thumbnailImageView]))
Run Code Online (Sandbox Code Playgroud)
如何删除此错误?
我做到了
ivImageLoadingInside.center = CGPoint(x: 25, y: 0)
UIView.animate(withDuration: 2, delay: 0, options: .repeat, animations: {
self.ivImageLoadingInside.center = CGPoint(x: 80, y: 0)
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
但是总是停在中间。
这是带有动画的图像

swift ×8
ios ×7
autolayout ×3
uiscrollview ×3
beatsmusic ×2
objective-c ×2
soundwaves ×2
animation ×1
constraints ×1
ios8 ×1
spotify ×1
spotify-app ×1
uiimageview ×1
uistackview ×1