小编Chr*_*ris的帖子

为什么容器div坚持要比IMG或SVG内容略大?

我正在尝试生产另外一个需要HTML/CSS/Javascript练习的灯箱,但是我遇到了一个看似微不足道的样式问题(可能是!)但我无法解决它.

我有一个div包含img.不管我什么(border,margin,padding,自动高度等),我不能让div收缩相匹配的图像尺寸.我把问题减少到了这个:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
        <title>Layout experiments</title>

        <style type="text/css">
            #lightbox {
                margin: 0;
                padding: 0;
                position    : fixed;
                left        : 50%;
                margin-left : -320px;
                top         : 100px;
                border-radius: 22px;
                background  : #e0e0f0;
                color       : #102020;
            }

            #lightbox img {
                border-radius: 15px;
            }
            .imagebg {
                margin      : 7px;
                background  : black;
                border-radius: 15px;
                height      : 100%;
            }

        </style>

    </head> …
Run Code Online (Sandbox Code Playgroud)

css

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

防止子元素在flexbox中溢出其父元素

我正在开发一个显示大量网卡的网络应用程序,其高度本身就是可变的.

为了美学,我们使用jQuery .matchHeight()来平衡每一行中卡片的高度.

它的性能不能很好地扩展,所以今天我一直在迁移到基于灵活盒的解决方案,这个解决方案要快得多.

但是,我丢失了一个行为 - 如果卡片标题不适合,则应使用省略号截断.

目标:

  1. 3列
  2. 列宽可以填充父级
  3. 列之间的间距恒定
  4. 高度在一排内均衡

如何安排得到尊重容器大小和text-overflow: ellipsis;white-space: nowrap;兑现?

(没有jQuery标签,因为我们正在远离那个)

我的解决方案是当前的形式,除了截断之外,它实现了我的所有目标:

https://codepen.io/anon/pen/QvqZYY

#container { 
                display: flex; 
                flex-direction: row; 
                flex-wrap: wrap; 
                
                justify-content: flex-start;    /* Bias cards to stack from left edge       */ 
                align-items: stretch;           /* Within a row, all cards the same height  */ 
                
                border: thin solid gray; 
            } 
            .card-wrapper { 
                width: 33.33%; 
                display: flex; 
                background: #e0e0ff; 
            } 
            .card { 
                flex-grow: 1; 
                margin: 7px; 
                display: flex; 
                flex-direction: column; 
                border: thin …
Run Code Online (Sandbox Code Playgroud)

html css css3 flexbox

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

在故事板OSX应用程序中设置initialFirstResponder

这个问题类似,我试图NSTextField在一个非常简单的应用程序中将第一个响应者设置为三个中的第一个.那里的建议(Window在界面构建器中设置第一个响应者)似乎不再适用,至少在涉及故事板时不适用.该Window对象确实有一个initialFirstResponder插座,但我无法通过拖拽,ctrl-drag等向NSTextField的任何一个方向设置它.

IB为我提供的结构包括一个链接到视图控制器场景的窗口控制器场景(本身只是一个空窗口)(后者又包含我的NSTextFields和标签集).

我怀疑有一些默认的假设/关联,Xcode被我的应用程序烘焙,导致Window控制器在运行时自动加载特定的视图,这就是为什么不可能绑定一个它在构建时不知道的初始响应者时间.然后让我想知道哪个生命周期调用哪个对象是正确的点,self.view.window.initialFirstResponder = myTextField在它为时已晚之前进行调用,以及如何最正确地获取对该对象的访问权.viewWillAppear或者viewDidLoad在View Controller中感觉正确,但似乎都没有可靠地产生任何影响(最初活动NSTextField因运行而异,有时似乎跟踪代码更改,但两次都没有).

到目前为止,我已经在GitHub上发布了代码

macos xcode storyboard first-responder

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

防止子进程(HandbrakeCLI)导致父脚本退出

我有一个批量转换脚本将各种尺寸的.mkvs变成ipod/iphone大小.mp4s,裁剪/缩放以适应.确定原始尺寸,所需的裁剪,输出文件都工作正常.但是,成功完成第一次转换后,HandbrakeCLI会导致父脚本退出.为什么会这样?我怎么能阻止它?

目前的代码:

#!/bin/bash
find . -name "*.mkv" | while read FILE
do
    # What would the output file be?
    DST=../Touch/$(dirname "$FILE")
    MKV=$(basename "$FILE")
    MP4=${MKV%%.mkv}.mp4

    # If it already exists, don't overwrite it
    if [ -e "$DST/$MP4" ]
    then
        echo "NOT overwriting $DST/$MP4"
    else

        # Stuff to determine dimensions/cropping removed for brevity

        HandbrakeCLI --preset "iPhone & iPod Touch" --vb 900 --crop $crop -i "$FILE" -o "$DST/$MP4" > /dev/null 2>&1

        if [ $? != 0 ]
        then
            echo "$FILE had problems" >> …
Run Code Online (Sandbox Code Playgroud)

macos bash

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

如何使用工件存储 jenkins 构建输出?

我有一个 Jenkins(我是新手)系统,它有一些限制:

  • 主/从安排
  • 奴隶是Windows 7
  • 安装插件可能会遇到很大的阻力
  • 构建将存档到 Windows 共享

我们的目标是让编译器的输出归档到日志构建的:

//server/share/archive/%BUILD_TAG%/
Run Code Online (Sandbox Code Playgroud)

我正在使用构建后步骤Send build artifacts to a windows share将二进制文件推送到存档服务器,但我还没有找到一种方法来安排构建日志也结束在那里。我发现控制台输出可在http://jenkins/job/ $jobTitle/$buildNumber/consoleText 上找到,但我不确定这会有多大用处 - 我无法在存档服务器运行。我想保持主 Jenkins 知道从属和存档的分离,但是从属和存档彼此不知道(假设该Send build artifacts...步骤在主控上运行,而不是被推到从属操作)。

我探索的另一种方法是让 Jenkins 在本地存储工件(通过Archive the artifacts),但是我没有看到一种将结果 + 日志及时推送到外部服务器的方法。

詹金斯似乎非常灵活,这种情况很可能已经得到满足,但我还没有找到方法。

jenkins

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

WaitDrawable得分高是坏事吗?是什么原因造成的?

我有一个SceneKit场景,目前还没有进行很多事情。最初报告的统计信息非常低(0.2ms用于渲染,其他所有零)。但是,如果我只是稍微调整视图的大小,则WaitDrawable的数字很有可能(但不能保证)显着上升,通常会上升到8ms以下或16ms以下。随后的大小调整很少导致其下降。我只有一次看到它恢复到零。

WaitDrawable 不会在developer.apple.com上返回任何匹配项,在更广泛的Internet上几乎不会返回任何匹配项。

我以为使用SpriteKit场景作为叠加层(通过scnView.overlaySKScene = ...)可能是罪魁祸首,如果SpriteKit迟到了(或完全丢了一帧?),那么SceneKit最终将等待N + 1帧,但是删除了叠加层的所有痕迹对行为没有影响。

我还考虑了是否NSWindowDelegate对它做出反应并对其做出反应windowDidResize,因此删除了该代码-无需更改。

剩下的就是加载场景并启动的代码,SCNAction.repeatForever并且高WaitDrawable仍在调整大小时出现。它与视图大小无关-干净启动后再减小窗口大小也会导致它发生。

最后一个好帧和第一个坏帧的仪器读数显示WaitDrawable增加了1000倍:

框架好,然后框架坏

相应时间的轨迹,我目前无法解读,但即使是未经训练的眼睛,它的确也很奇怪:

仪器从好到坏的过渡轨迹

它实际上似乎并没有影响帧速率,但是在16ms时,它马上就要到了。苹果自己的Fox2演示展示了同样高的WaitDrawable。

macos scenekit

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

使用“URLProtocol”子类来测试异步/等待 URLSession 调用

我最近才意识到使用子类化技术URLProtocol来测试网络调用(之前我使用过类似于Rob Napier 的“协议嘲弄”的技术)

但尝试将其应用于async/await呼叫会导致崩溃。此代码说明了问题 - 基于完成的测试将通过,异步测试将崩溃(例如EXC_BREAKPOINT (code=1, subcode=0x1a587a0f0)

import XCTest
import Foundation

final class TestableNetworkingTests: XCTestCase {
    override func setUp() {
        URLProtocol.registerClass(StubUrlProtocol.self)
    }

    override class func tearDown() {
        URLProtocol.unregisterClass(StubUrlProtocol.self)
    }

    // URL doesn't matter - request never actually gets sent
    static let request = URLRequest(url: URL(string: "http://example.com/")!)

    func testCompletion() throws {
        StubUrlProtocol.observer = { request -> (URLResponse?, Data?) in
            return (nil, "Completion Hello".data(using: .utf8)!)
        }

        let responded = expectation(description: "Should have responded") …
Run Code Online (Sandbox Code Playgroud)

async-await swift

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

Swift UI 在协议中使用视图(协议“视图”只能用作通用约束,因为它具有 Self 或关联类型要求)

我想在协议中使用视图。

protocol Test {
    var view: View { get }
}
Run Code Online (Sandbox Code Playgroud)

协议“视图”只能用作通用约束,因为它具有 Self 或关联类型要求

我只想和我的 ViewController 做同样的事情。任何的想法?

protocol Test {
    var viewController: UIViewController { get }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用关联类型,则会在其他协议中收到错误消息。

protocol Test2: Test { 
    //STUB
}
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?谢谢 :)

protocols ios swift swiftui

4
推荐指数
2
解决办法
1778
查看次数