我是使用Xcode 4.2.1为Mac OS X Lion(10.7.3)编程的新手
我想获得所有可见窗口的列表,然后隐藏或最小化它们.
到目前为止,我有这个代码:
NSArray *appList = [[NSWorkspace sharedWorkspace] runningApplications];
for (id app in appList) {
for (id theWindow in app) { //How do I get list of windows from the app??
if ([theWindow isVisible]) {
[theWindow orderOut:sender];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但有点难以获得每个应用程序的窗口列表.
谢谢
编辑:我发现了一个名为ShowDesktop的应用程序(请参阅下面接受的答案),它可以实现我想要的功能,它可以模拟Windows PC上的"显示桌面"功能.
编辑:2015年3月:找到一个更好的解决方案:更好的触摸工具(它是免费的)有一个"隐藏所有Windows"的快捷方式,像Windows一样,它实际上最小化和隐藏所有打开的窗口(不像OSX默认只是移动它们屏幕).您可以将其分配给任何键盘组合或鼠标移动...我已将其分配给"OPTION_KEY + Move_Mouse_Into_Lower_Left_Corner".
我有一个非常简单的HTML5游戏,可以通过常规浏览器按预期工作,但是当从iPhone或iPad上的浏览器访问时,它无法识别click事件或touchstart事件.
原始代码来自这里的教程:http: //www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/
我修改了它并添加了一个click事件,它将把笑脸移动到你在画布上点击的任何地方.这个点击事件可以通过鼠标在Mac和Windows浏览器中正常工作:http: //iwebss.com/test
但是,如果您使用iPhone或iPad访问它,则单击事件不起作用.我还尝试为touchstart添加一个额外的监听器,这也不起作用.
这些是我添加到代码中的新侦听器:
addEventListener("click", mouseClickEvent, false);
function mouseClickEvent(e) {
alert("click event");
mouseClick = true;
if (e.offsetX) {
mouseX = e.offsetX;
mouseY = e.offsetY;
} else if(e.layerX) {
mouseX = e.layerX;
mouseY = e.layerY;
}
}
addEventListener("touchstart", testEvent, false);
function testEvent(e) {
alert("touchstart event");
}
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么,或者如何阅读iPhone和iPad触摸事件的任何想法?
谢谢
编辑:我也尝试了mousedown事件,这也是行不通的.
决议:我想通了......看下面的答案.
我试图在页面上找到一个特定的元素,但无法弄清楚要使用的正确的Xpath.
这是HTML(请注意每个div的位置可能会有所不同):
<div>
<label>First Name</label>
<span class="metadataField metadataFieldReadonly">
<input type="text" name="some-random-value" value="John">
</span>
</div>
<div>
<label>Last Name</label>
<span class="metadataField metadataFieldReadonly">
<input type="text" name="some-random-value" value="Smith">
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
所以我试图在具有// div/label [text()='Last Name'的同一div中找到// div/span [@ class ='metadataField metadataFieldReadonly'] /输入的INPUT元素]
我可以用这个成功找到标签(使用JAVA):
driver.findElement(By.xpath("//div/label[text()='Last Name']")).click();
Run Code Online (Sandbox Code Playgroud)
我可以成功找到第一个元素下的第一个输入(但我可能并不总是想要第一个元素):
driver.findElement(By.xpath("//div/span[@class='metadataField metadataFieldReadonly']/input")).click();
Run Code Online (Sandbox Code Playgroud)
所以问题是(i)INPUT的名称标签和值总是不同,所以它们不能用来挑选元素,而(ii)带有姓氏标签的div可能并不总是第二个,而且( iii)标签和跨度是相同级别(兄弟姐妹)所以我无法弄清楚如何正确创建Xpath语句.
所以在单词中,我需要在同一个div中找到span的输入,其中包含一个带有"Last Name"的标签.
所以我需要知道如何将这两个XPath语句组合成一个复杂的语句(假设它们在同一个div中,并且标签和span是兄弟姐妹):
//div/label[text()='Last Name']
//div/span[@class='metadataField metadataFieldReadonly']/input
Run Code Online (Sandbox Code Playgroud)
谢谢
只是想知道我是否只包含ARMv7并在我的二进制文件中排除ARMv7s,如果它仍然可以在iPhone 5上运行?
谢谢
在 PHP 中使用脚本时,我需要从服务器的角度和域 url 的角度知道其当前文件夹和路径是什么。
我还需要带或不带扩展名的文件名或脚本名称,以及带或不带任何参数传入的文件名或脚本名称。
例如,如果我调用以下内容:
https://example.com/somefolder/anotherfolder/test.php?hey=there
我想取回所有这些单独的部分:
test
test.php
test.php?hey=there
hey=there
https://example.com
/home/myserver/public_html
/somefolder/anotherfolder
Run Code Online (Sandbox Code Playgroud) cocoa ×1
dom-events ×1
html ×1
html5-canvas ×1
ios ×1
ios6 ×1
iphone ×1
java ×1
javascript ×1
macos ×1
objective-c ×1
osx-lion ×1
php ×1
selenium ×1
xcode ×1
xpath ×1