小编Joh*_*hnK的帖子

确定绝对或全局 z-index?

好的,伙计们,这是一个棘手的问题(也许):有没有可以获得元素的某种“全局 z-index”?这是我想做的一个例子:

给定两个元素引用,您将如何确定哪个元素在 z 顺序中更高(假设它们可能没有分配 z 索引或位于单独的容器中)

欢迎详细的黑客!不那么复杂的方法受欢迎。

javascript z-index

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

音调淡出后如何正确销毁ToneUnit?

我使用基于Matt Gallagher 经典示例的 AudioUnits在iPhone上生成音调.为了避免开始/结束时的唧唧声和咔嗒声,我在回调中淡入/淡出幅度RenderTone.我希望在淡出结束时摧毁ToneUnit,也就是说,在振幅达到零之后.我能想到的唯一方法就是从回调中调用实例方法:

    if (PlayerState == FADING_OUT) {
        amplitude -= stepsize;
        if (amplitude <= 0) {
            amplitude = 0;
            PlayerState = OFF;
            [viewController destroyToneUnit];
        }
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这比我想象的更具挑战性.首先,我仍然得到了fadeout应该消除的最后点击.另一方面,我收到此日志通知:

<AURemoteIO::IOThread> Someone is deleting an AudioConverter while it is in use.
Run Code Online (Sandbox Code Playgroud)

这条消息意味着什么,为什么我得到它?

如何我杀ToneUnit?我怀疑发生了点击,因为RenderTonedestroyToneUnit在不同的线程上运行.如何让这些同步?


如果它有用,这是我的destroyToneUnit实例方法:

- (void) destroyToneUnit {
    AudioOutputUnitStop(toneUnit);
    AudioUnitUninitialize(toneUnit);
    AudioComponentInstanceDispose(toneUnit);
    toneUnit = nil;
}
Run Code Online (Sandbox Code Playgroud)

如果我在之前和之后的NSLog消息AudioUnitUninitialize(toneUnit);,通知出现在它们之间.

iphone synchronization core-audio audio-converter remoteio

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

iOS滑块的默认拇指图像的大小?

iOS滑块的(默认)拇指图像的确切大小(宽度,高度)是多少?是否有一些聪明的方法来哄骗这个系统(XCode,iOS)?

我试过了

int thumbWidth = slider.currentThumbImage.size.width;
Run Code Online (Sandbox Code Playgroud)

我在这个网站上找到它,但它回来了0.

附加问题:Xcode调试器在UISlider:中显示了这个未记录的变量CGFloat _hitOffset.有没有人偶然知道它是什么以及它的用途是什么?

xcode cocoa-touch objective-c uislider ios

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

SVN混淆:"本地添加,合并时传入添加"这些词实际上是指什么?

我对颠覆很新,而且文档对我来说没有意义.我想知道是否有人可以将此错误消息(从svn st)分解为简单的英语,以及我得到的另一个local delete, incoming delete upon merge.

准确地说我的问题:

  1. 是什么local add(或local delete)是指什么?
  2. 是什么incoming add(或incoming delete)是指什么?

令我感到神秘的是,分支与接收这些错误的文件完全无关.换句话说,它不会在本地添加或删除任何这些文件(我认为这local add/delete意味着).此外,如果我在本地删除了文件,为什么这会与repo(incoming)中的删除冲突呢?

背景资料

我是如何到达这里的:我合并trunk到了我的branch手中,并试图提交给我的分支机构.

PS我已经(尝试)阅读管理主干和功能分支:本地删除,合并时的传入删除,但是有太多的术语.我在这里读到的其他问题/答案似乎并不适用,或者很难理解.

svn merge conflict tree-conflict

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

如果找不到行-mysql,则返回默认值

我正在构建查询以从数据库中搜索多行

SELECT 
  * 
FROM
  table1 
WHERE col1 = '012311' 
  OR col1 = '0123631' 
  OR col1 = '091233' 
  OR col1 = '092111' 
Run Code Online (Sandbox Code Playgroud)

这里它返回前3个值,因为它们存在于表中,但它不返回最后一个值,因为它不在表中.那么如果没有找到该值的行,如何在查询中设置我的默认值?

mysql

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

如何延迟安装 Material UI 选项卡面板或了解选项卡面板何时可见?

我正在使用 Material UI 选项卡在三个 TabPanel 之间进行选择。具体来说,我使用的是Simple Tabs Example

在我的第二选项卡的组件需要访问这样的字段和方法elem.offsetHeight以及elem.getClientRects()调整布局。不幸的是,在面板中的组件显示之前,这些基于显示的东西都是零或空的。所有面板都立即安装,但第二个面板在安装时不可见,因此当我尝试在安装期间运行它们时,我的布局调整不起作用。

我认为我需要的是两件事之一:

  1. 一些延迟加载选项卡面板内容的方法。(这个解决方案可能是最好的,因为第二个和第三个面板需要网络调用,并且在需要面板之前进行这样的调用是没有意义的。)

  2. 某种方式知道面板的内容何时最终显示,以便代码可以触发布局调整。

另一种解决方案是设置超时以定期检查(例如每 100 毫秒)是否elem.getClientRects()生成包含任何元素的列表,但这似乎很麻烦。


附录

很抱歉我的书面描述不够清楚。在我的SimpleTabs组件中:

  <TabPanel value={value} index={0}>
    <About/>
  </TabPanel>
  <TabPanel value={value} index={1}>
    <ByRossPage/>
  </TabPanel>
  <TabPanel value={value} index={2}>
    <ByChapter/>
  </TabPanel>
Run Code Online (Sandbox Code Playgroud)

<ByRossPage/>组件包含getPage()访问elem.offsetHeight和的方法elem.getClientRects()。这个方法是从组件的构造函数中调用的。

reactjs material-ui

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

为什么"android:"无处不在?

为什么Android xml布局文件需要android:每个视图属性之前?系统不知道它的Android吗?如果这个词确实是多余的,那么省略它就会节省这些文件所需内存的很大一部分,更不用说程序员打字了.

android android-layout

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

什么是`AURenderCallbackStruct`中的`inputProcRefCon`?

在播放音调(例如,这里)时,我们必须告诉机器什么功能将填充IO缓冲区:

// Set our tone rendering function on the unit
AURenderCallbackStruct input;
input.inputProc = RenderTone;
input.inputProcRefCon = self;
err = AudioUnitSetProperty(toneUnit, 
    kAudioUnitProperty_SetRenderCallback, 
    kAudioUnitScope_Input,
    0, 
    &input, 
    sizeof(input));
Run Code Online (Sandbox Code Playgroud)

很明显,这inputProc是为录音带来输入的程序.但到底是inputProcRefCon什么?是否会出现无法设置的情况self

core-audio ios

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

如何将页面添加到新选项卡的历史记录中,以便后退按钮重新加载该页面?

从“页面 A”,我可以打开“页面 B”的新选项卡(当前的“旧”选项卡然后导航到此处不特别相关的另一个页面)。但我需要新选项卡在其历史记录中包含“页面 A”,以便按浏览器的后退按钮返回到该页面 - 不幸的是我无法做到这一点。

这是我正在尝试的:

var pageA = window.location.href;
var newTab = window.open("about:blank");
    window.setTimeout(function(){
        newTab.location.href = url;
        newTab.history.replaceState({fromBackClick: true}, "page1", pageA);
        newTab.history.pushState({fromBackClick: true}, "page2", url);
        newTab.setTimeout(function() {
            newTab.onpopstate = function () {
                //newTab.location.href = pageA; /* alternative to next line */
                newTab.location.reload(true);
                return true;
            };
        }, 100);
        window.location.href = new_url;
    }, 100);
Run Code Online (Sandbox Code Playgroud)

请注意,urlnew_url是传递给该代码所属函数的参数。

发生的情况是,新选项卡可以正常打开,其中包含“页面 B”的内容,并且当您单击“返回”时,“页面 A”url 会出现在地址栏中。不幸的是,尽管明显的 URL 发生了变化,但浏览器实际上并没有导航回实际的“Page A”页面。由于某种原因onpopstate,回调永远不会触发(即使我注释掉当前选项卡的 href 更改)。

有谁知道如何让回击实际上返回到地址栏中的 URL?

编辑

我知道这是可能的,因为如果您在选中某些合作伙伴复选框的情况下进行搜索,Kayak.com 会在 Chrome 中执行此操作。

javascript browser-history

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

Equated Java Arrays中的奇怪之处:引用与指针

有一个问题,了解下面的代码正在发生什么.阵列的行为c,并d为我所期望的那样.但是,这是怎么回事与ab?(我也尝试使用普通的标量变量,在任何一种情况下都不会发生任何意外.)

输出将复制到RH注释.

import java.util.Arrays;

public class ArraysParadox {

    public static void main(String[] args) {

        int[] c = {1, 2, 3};
        int[] d = {6, 5, 4, 3};

        System.out.print("c:       ");
        System.out.println(Arrays.toString(c)); // c:       [1, 2, 3]

        System.out.print("d:       ");
        System.out.println(Arrays.toString(d)); // d:       [6, 5, 4, 3]

        System.out.println("--- swap ---");
        int[] tmp = c;
        c = d;
        d = tmp;    // <----- Magic?

        System.out.print("c' (=d): ");
        System.out.println(Arrays.toString(c)); // c' (=d): [6, 5, 4, 3]

        System.out.print("d' …
Run Code Online (Sandbox Code Playgroud)

java arrays pointers

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