我们的生产环境使用的是与多个css类不兼容的自适应技术.这意味着在设置HTML样式时很容易忘记和使用两个类,并且一旦生成就让它中断.
我想使用CSS作为一种方式来突出显示有人忘记并意外地将两个类应用于元素.
这样的事情是我的意图,虽然当然这是无效的.它应该突出显示应用了两个类的任何元素:
.*.* { /* not valid (I wish) */
outline:2px dotted red;
}
Run Code Online (Sandbox Code Playgroud)
我知道如果我知道这个类就行了,问题是我要标记任何两个类:
.classA.classB { /* not good enough */
outline:2px dotted red;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以用JS和书签来做到这一点,也许这是唯一的解决方案.如果只有CSS可能会更好,因为它会自动为所有开发人员和QA标记内容.
我有几个笨拙的任务,我试图分享这些任务的全局变量,我遇到了问题.
我编写了一些自定义任务,根据构建类型设置正确的输出路径.这似乎是正确的设置.
// Set Mode (local or build)
grunt.registerTask("setBuildType", "Set the build type. Either build or local", function (val) {
// grunt.log.writeln(val + " :setBuildType val");
global.buildType = val;
});
// SetOutput location
grunt.registerTask("setOutput", "Set the output folder for the build.", function () {
if (global.buildType === "tfs") {
global.outputPath = MACHINE_PATH;
}
if (global.buildType === "local") {
global.outputPath = LOCAL_PATH;
}
if (global.buildType === "release") {
global.outputPath = RELEASE_PATH;
}
if (grunt.option("target")) {
global.outputPath = grunt.option("target");
}
grunt.log.writeln("Output folder: …Run Code Online (Sandbox Code Playgroud) 我希望更改URL以驱动我的应用程序,并更改应用程序以更改 URL,但实际上不会更改状态.
我有这样的路线.国家/城市的例子有点做作,希望这不会混淆事情.实际应用程序中的关系有些分层.子视图似乎不合适,因为不需要嵌套视图.
$stateProvider.state( 'viewMap', {
url: '/viewMap/:country/:city',
templateUrl: 'pages/viewMap/viewMap.html',
controller: 'ViewMapController'
};
Run Code Online (Sandbox Code Playgroud)
在ViewMapController中,我可以基于$stateParams.country和构造页面.city.当这些值发生变化时,我的应用程序会做出反应,我希望网址保持同步.但是,我不想重新加载整个页面.我只是想更新url并将历史状态推送到堆栈.
我明白我可以手动构造一个字符串:
updateUrl = function() {
window.location.hash = '#/viewMap/'+ $stateParams.country +'/'+ $stateParams.city
}
Run Code Online (Sandbox Code Playgroud)
这感觉很脆弱,因为我构建字符串的方式与框架解析它的方式是分开的.我更喜欢框架根据当前的params为我构建一个字符串,但$state.href('.')描述了当前的路由,它不包括尚未激活/导航到的$ stateParams.
我也看过reloadOnSearch,但我认为它只适用于查询参数.
有没有更好的方法来模拟这个?感觉就像我在简单的事情上对抗框架.
我想为图层的背景色设置动画。我可以为Alpha设置动画,但不能为背景颜色设置动画。
作品:
var animation = CABasicAnimation(keyPath: "opacity")
animation.toValue = 0.6
animation.duration = 0.1
customCALayer.addAnimation(animation, forKey: nil)
Run Code Online (Sandbox Code Playgroud)
不起作用(无动画,无错误):
var animation = CABasicAnimation(keyPath: "backgroundColor")
animation.fromValue = UIColor.redColor().CGColor
animation.toValue = UIColor.whiteColor().CGColor
animation.duration = 0.1
customCALayer.addAnimation(animation, forKey: nil)
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?backgroundColor 是可动画的属性。
我已经阅读了几篇关于此的文章,但不了解我所缺少的内容。对于noop动画缺乏反馈很具挑战性,我不确定这是哪里出了问题。我已经尝试过将转换为AnyObject,NSValue用作包装器,但没有得到任何帮助。
相关答案(对我不起作用):
我正在学习Apple的GCD,并在Swift 3中观看视频并行编程与GCD.
在这个视频的16:00,DispatchWorkItem描述了一个标志.wait,并且功能和图表都显示了我的想法myQueue.sync(execute:).
所以,我的问题是; 有什么区别:
myQueue.sync { sleep(1); print("sync") }
Run Code Online (Sandbox Code Playgroud)
和:
myQueue.async(flags: .wait) { sleep(1); print("wait") }
// NOTE: This syntax doesn't compile, I'm not sure where the `.wait` flag moved to.
// `.wait` Seems not to be in the DispatchWorkItemFlags enum.
Run Code Online (Sandbox Code Playgroud)
似乎这两种方法在等待命名队列时阻塞当前线程:
我对此的理解必须在某处,我错过了什么?
这就是问题,直截了当.
let serial = DispatchQueue(label: "serial", attributes: .serial)
let concurrent = DispatchQueue(label: "concurrent", attributes: .concurrent)
let q = DispatchQueue(label: "q")
Run Code Online (Sandbox Code Playgroud)
我看不到任何可以检查的财产q会告诉我.
在带有PlaygroundPage.current.needsIndefiniteExecution = trueshow连续行为的游乐场中运行,但我不想依赖于操场(有异步的东西),或者没有文档的行为.
任何人都可以通过文档链接提供硬答案吗?
在我的应用程序的几个地方,我得到零帧大小,我曾经得到一个框架.特别是在通过执行cornerRadius创建圆形对象时,这会影响我size/2.
例如,在Xcode 7中这很好用:
class AvatarUIButton: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
layer.masksToBounds = true
layer.cornerRadius = bounds.size.width / 2
}
}
Run Code Online (Sandbox Code Playgroud)
但现在在Xcode 8中,我必须这样做:
class AvatarUIButton: UIButton {
override var bounds: CGRect { didSet {
layer.cornerRadius = bounds.size.width / 2
}}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.layer.masksToBounds = true
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,变化可以说更好/更明显.我有另一种情况,在TableHeaderView上只涉及xcode 8的0帧不太孤立.
我正在寻找发布说明,邮件列表讨论或类似的讨论帧大小确定顺序的变化,以便我可以弄清楚改变了什么以及如何解决它.
我已经构建了一个计时器应用程序,我遇到的一个问题是当它背景时,如果用户关闭音量,我无法响铃.关闭音量或声音也会使通知静音,这是我用于在后台响铃的方法.
我刚买了一块瓷砖,发现它可以在静音时给你的手机打电话.我已经测试了它,它可以在iOS 9中运行,但我不确定如何复制这种行为.
iPhone如何在静音模式下响铃?后台刷新?动议和活动?别的什么?
现有技术:
我正在开发一个将使用Web套接字的单页Backbone应用程序.该应用程序相当复杂,有6个或更多主要区域(屏幕).
Web套接字的语法似乎很简单,我现在想知道架构.
使用网络套接字时,采用第一种方法或第二种方法是否最佳?
1:在应用程序的任何屏幕或区域上为所有实时服务器通信打开单个websocket,然后在客户端过滤这些消息?
要么...
2:一次打开多个websockets,其中每个Web套接字代表应用程序中的某些功能区域
(我看过这个页面,但它是关于服务器端的,我对客户端感兴趣:WebSocket服务器的最佳实践是什么?)
更新:服务器正在使用Jetty(一种与Tomcat不同的Java技术).
由于webkit错误(我认为),有一种情况,我有一个卡住的:hover伪造的类.你可以在这里看到:http://jsfiddle.net/zFk2V/3/
拖放后,前一个元素:hover在Chrome中保持状态.如果您将鼠标悬停在卡住的项目上,则悬停状态会清除.
我认为应该可以使用事件触发,DOM重排触发或其他一些shenaniganary来清除元素的悬停状态.
我试过了:
$('[draggable]').trigger('mouseenter')
$('[draggable]').trigger('mousemove')
$('[draggable]').trigger('mouseout')
$('[draggable]').trigger('mouseleave')
$('[draggable]').trigger('blur')
$('[draggable]').trigger('hover')
$('[draggable]').toggleClass('selected')
$('[draggable]').toggleClass('selected') // twice to reset to original
$('[draggable]').height(true) // should trigger a DOM reflow
Run Code Online (Sandbox Code Playgroud)
......以及所有这些的不同组合,但没有成功
我甚至试过这个,我确信它会起作用,即使是不可接受的:
$('[draggable]').hide()
setTimeout(function(){
$('[draggable]').show()
}, 10)
Run Code Online (Sandbox Code Playgroud)
这也行不通.:(
在所有情况下,:hover国家仍然存在.如果是铬检查器和视觉效果,您可以验证这一点.
我很想知道是否存在针对此的错误,或者是否有其他人听说过它.我发现的只是另一个问题在谈论它,答案是一个大锤.