小编Sha*_*ass的帖子

UIScrollView AutoLayout仅垂直

我想让AutoLayout UIScrollView与它一起工作,并且我遇到了一些麻烦.这是我做的:

  1. UIScrollView在主视图内添加框架:[top:0,left:0,width:320,height:568]

  2. UIViewUIScrollViewwith frame和bgcolor black中添加"ContentView" :[top:0,left:0,width:320,height:568]

  3. 设置UIScrollView约束:[top:0,bottom:0,left:0,right:0]

  4. 设置"ContentView"约束:[top:0,bottom:0,left:0,right:0]

  5. 对齐"ContentView"中的项目

  6. 将主视图bgcolor设置为灰色(查看发生了什么)

以下是问题的屏幕截图:http://imgur.com/P8s9lB0

由于某种原因,约束使内容视图位于屏幕的中间.此外,它向各个方向滚动.我希望内容只能在垂直方向上滚动UITableView,所以我不能这样移动:http://imgur.com/lBCwfAS

我究竟做错了什么?我已经检查了StackOverflow和Google中可以找到的所有教程和答案,并且没有人真正有一个奇怪的问题,所以我正在寻求帮助.

编辑:我还添加了ContentView的宽度和高度作为约束,这也没有帮助.

objective-c uiscrollview ios autolayout swift

25
推荐指数
4
解决办法
3万
查看次数

创建Waves可视化歌曲Swift

这是我正在尝试做的事情:

屏幕截图

屏幕截图来自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)

user-interface ios beatsmusic swift soundwaves

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

如何使uiscrollview只为ios垂直滚动?

我试图让layout里面scrollview使用这个教程https://www.youtube.com/watch?v=UnQsFlMGDsI

并得到以下结果 http://youtu.be/iPfzyLbEZMA

任何建议或教程链接都将受到赞赏.它只需要垂直滚动

objective-c uiscrollview ios autolayout ios8

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

Swift:removeFromSuperview() 崩溃

问题:当我尝试删除子视图时应用程序崩溃。

上下文:我有一个使用模型对象更新的 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)

ios autolayout nslayoutconstraint swift uistackview

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

Swift - 以编程方式创建垂直UIScrollView

我一直在寻找一个(工作)教程的日子,甚至是一个使用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)

任何想法为什么这不起作用?

uiscrollview ios swift

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

如何更改Spotify Song Swift的BPM值

我正在尝试构建一个播放Spotify歌曲的应用程序。我真的很困惑如何更改Spotify歌曲的BPM(每分钟节拍数)值。

第一步:通过Spotify登录。

第二步:获取当前用户所有专辑。

第三步:获取专辑曲目。

最后一步:播放曲目。

我已经完成了Spotify代表的所有步骤。但我想更改轨道的BPM值。

有人可以向我解释如何更改BPM值吗?

spotify ios spotify-app swift

5
推荐指数
0
解决办法
285
查看次数

创建波浪可视化视频 Swift

这是我想要做的:

截屏

屏幕截图来自 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)

问题:如何显示与原始图像相同的波浪(第一张截图)?

有人可以向我解释如何绘制相同的,我已经尝试绘制这些波浪,但还没有结果。

任何帮助将不胜感激。

提前致谢。

user-interface ios beatsmusic swift soundwaves

5
推荐指数
0
解决办法
121
查看次数

无法将'[NSLayoutConstraint]'类型的值转换为预期的参数类型'NSLayoutConstraint'

我正在使用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)

错误图片

如何删除此错误?

constraints swift ios-autolayout

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

如何快速从左向右移动图像?

我做到了

屏幕截图

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)

但是总是停在中间。

这是带有动画的图像

屏幕截图

animation uiimageview swift

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