小编j0h*_*n3s的帖子

不能在类型的不可变值上使用变异成员

我有以下结构:

public protocol SuperModel {
    // empty protocol
}
struct ModelOne: SuperModel {
    struct SubModelOne {
        var someVar: Double
        var othervar: Double?
    }
    var sub: SubModelOne?
    mutating func setSub(sub: SubModelOne) {          
        self.sub = sub
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的课上,我想使用这样的结构:

final class SomeClass: SuperClass {
    var data: SuperModel
    init() {
        self.data = ModelOne()
    }
    func someFunc() {
        (self.data as! ModelOne).setSub(ModelOne.SubModelOne(someVar: 2, otherVar: 1))
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:Cannot use mutating member on immutable value of type 'ModelOne'.为什么会这样,我该如何解决这个问题呢?

struct swift

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

在iPhone X上使WKWebview"真实"全屏(从WKWebView中删除安全区域

我正在尝试在App WebView中实现一个"真正的"全屏,这意味着无论如何我都希望webcontent完全处于缺陷之下.

这是我面临的当前情况,当将WebView构建到超级视图边界时: iPhone X上的wkwebview 红色边框是webView的边框(也是屏幕的大小).Twitter在身体上有100%的高度和宽度.

据我所知,网站在Safari中不能有100%的宽度,而且它在App浏览器中的默认行为是尊重安全区,但特别是在我的情况下,网页有点为应用程序设计,我需要使用完整的空间.

我无法弄清楚如何设置webview以使其内容具有完整的大小.有没有办法改变安全区?

代码片段:

private var webView : WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    self.webView = WKWebView(frame: .zero)

    self.webView.layer.borderColor = UIColor.red.cgColor
    self.webView.layer.borderWidth = 2

    self.webView.load(URLRequest(url: URL(string: "https://www.twitter.com")!))

    self.view.addSubview(self.webView)
}

override func viewDidLayoutSubviews() {
    self.webView.frame = self.view.bounds
}
Run Code Online (Sandbox Code Playgroud)

ios wkwebview iphone-x

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

动态更改无html元素的样式

我正在使用angularJs并想要动态更改属性的样式.通常我会ng-style在html元素中执行此操作.

但我想将样式应用于范围输入的轨道.可以在css中访问此元素:( .slider::-webkit-slider-runnable-track作为webkit选择器的示例).我可以在具有此元素的id的函数中更改此类属性的样式吗?

例如(我将如何在jquery中执行此操作):

$scope.change = function(id, value) {
        $('#'+id+'::-webkit-slider-runnable-track').css('background-image',value);
};
Run Code Online (Sandbox Code Playgroud)

html javascript css angularjs

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

html5音频在元素存在之前绑定timeupdate

我试图从音频标签绑定"timeupdate"事件,但尚未存在.我习惯这样做:

$("body").on("click","#selector", function(e) {

});
Run Code Online (Sandbox Code Playgroud)

我用音频标签尝试了这个:

$("body").on("timeupdate", ".audioPlayerJS audio", function(e) {
    alert("test");
    console.log($(".audioPlayerJS audio").prop("currentTime"));
    $(".audioPlayerJS span.current-time").html($(".audioPlayerJS audio").prop("currentTime"));
});
Run Code Online (Sandbox Code Playgroud)

但这不起作用.这应该有用吗?或者我做错了什么?

任何帮助都非常感谢.

有一个fiddel给你:jsfiddel

javascript audio jquery html5

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

iOS约束:如何给出UILabel高度约束优先级

我有以下问题:我有一个固定高度的视图.在此视图中,有两个单线UILable.视图比两个标签都大,所以我希望它们显示如下: UIView有两个UILabels

我添加了三个约束来实现这一目标:

  • 第一个标签顶部查看顶部
  • 第二个标签顶部到第一个标签底部
  • 第二个标签底部查看底部

(如果你愿意,我可以为此添加代码,但我认为它非常明显)

所以现在问题是如下.有时视图按预期呈现,但有时呈现的方式不同: 错误的UILabels

这种行为很随机.我认为这是因为,两个UILabel都具有相同优先级的(自动生成的)高度约束.有时,第一个标签的尺寸正确,有时第二个标签会得到它.那么有没有办法改变那些自动生成的高度约束的优先级或实现这种布局的另一种方式?(我不想为第二个UILabel使用containerview)

最好的祝福

ios autolayout

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

标签 统计

ios ×2

javascript ×2

angularjs ×1

audio ×1

autolayout ×1

css ×1

html ×1

html5 ×1

iphone-x ×1

jquery ×1

struct ×1

swift ×1

wkwebview ×1