2012-10-15 173 views
0

如何在UIAutomation中的UITextView中模擬雙指從左至右滑動?多點觸摸滑動手勢

我已經試過這樣:

var textView = target.frontMostApp().mainWindow().textViews()[0]; 
textView.dragInsideWithOptions({ 
    touchCount:2, 
    startOffset:{x:0.2, y:5.80}, 
    endOffset:{x:0.8, y:5.80}, 
    duration:1.5 
}); 

但顯然它沒有任何效果。有時候,它看起來只有一個手指手勢,即使我將2作爲觸摸計數。

一個問題是:UIAutomation如何知道第二次觸摸的位置?我只是指定一個觸摸的開始和結束,而不是兩個。它是否正確?也許這是我的問題的起源?
此外,我還沒有很清楚的對象的座標系統。除非我通過x的很小的值,我通常會得到警告:越界。通過座標我通常會通過使用Objective-C似乎是方式大:(

+0

已經將ypu設置爲2的觸摸次數? –

+0

我想我上面說過......'touchCount:2'這是不夠的嗎? – nacho4d

+0

http://stackoverflow.com/questions/9051104/how-to-handle-1-to-3-fingers-swipe-gesture-in-ios –

回答

1

一個非常晚的答案... 我今天遇到你的問題,在2015年,我有機會有蘋果文檔這個功能。是不是在2012年可能的情況下...

蘋果的文檔說:

您可以使用偏移來實現更高的精度在RECT指定元素中指定的生命值偏移包括一對x和y值,每個值在0.0到1.0之間,這些值分別表示矩形內的相對水平和垂直位置, {x:0.0,y:0.0}作爲左上角,{x:1.0,y:1.0}作爲右下角。因此,{x:0.3,y:0.6}指定中心左下方的位置,{x:1.0,y:0.5}指定最右邊垂直居中的位置。

此示例執行目標元素中從左側邊緣至右側邊緣的緩慢拖動,僅低於頂部:

target.dragInsideWithOptions({開始偏移:{X:0.0,Y:0.1},endOffset:{ x:1.0,y:0.1},持續時間:1.5});

因此,x和y值在您選擇的矩形內是相對的。 在您的例子:

startOffset:{x:0.2, y:5.80} 

你開始從刷卡左在TextView中在其長度的20%,而Y是境外5.80倍......

這將更好地與價值觀工作:

startOffset:{x:0.0, y:0.1}, endOffset:{x:0.5, y:0.1} 

就我而言,我做了兩個手指從左向右掃工作,此代碼:

target.frontMostApp().mainWindow().dragInsideWithOptions({touchCount:2, startOffset:{x:0.0, y:0.1}, endOffset:{x:0.5, y:0.1}, duration:1}); 
+0

比從未更好! hehe;) – nacho4d

+0

Oooooooo是啊);)) –