2011-12-13 50 views
5

Ekrana çizim yapmak için dokunma olaylarını kullanan bir uygulama var. Dokunmanın CGPoint değerini döndürmek için UITouch locationInView kullanıyorum. Sorun şu ki, x ve y koordinatları her zaman aynıdır - AMA yalnızca iOS 4.2.1 çalıştıran 2. nesil cihazlarda VE sadece uygulamanızın Yayın modunda oluşturulduğunda. Bu, düğmelerim doğrudan doğruya yanıt verdiğinden, yalnızca touchesMoved veya touchesEnded olay nesnesinden doğrudan dokunulduğunda bir sorun gibi görünüyor. http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/ bir mesajaiOS çalıştıran 2. nesil cihazdaki sorunları çözmek için LLVM-GCC kullanmanın etkisi 4.2.1

Teşekkür doğrusu yeni LLVM 3.0 derleyici daha LLVM-GCC derleyicisi kullanarak ve optimizasyon seviyesini kullanarak sorunu çözmek başardı 0. ilginçtir Ne

GCC kullanarak olmasıdır derleyici, touchesEnded numaralı telefondan aldığım dokunmatik konumları düzeltirken,en iyileştirme seviyesini değiştirirken, touchesMoved numaralı telefondan aldığım dokunmatik konumlar düzeltildi. Bunun nedenini açıklayamıyorum, ama şimdilik kendimce uygulamam bu cihazlarda çalışıyor.

Sorularım o zaman - Uygulamamı eski derleyiciyi kullanarak mağazaya teslim etmenin dezavantajları nelerdir? (Optimizasyon seviyesinin etkisini anlıyorum.) Projeyi yapılandırmanın herhangi bir yolu var, bu yüzden eski derleyici ve daha düşük optimizasyon seviyesini sadece iOS 4.2.1 ve/veya 2. gen cihazlar için kullanıyorum.

+0

aynı problem burada, herhangi bir şey buldunuz mu? –

cevap

0

Ben this stack overflow post mükemmel sorunu açıklar ve daha iyi bir çözüm (benim projem ayarları önerileri ile güncel kalmayı sağlar bir) sağlar inanıyoruz.

+0

Bunun, LLVM derleyicisinin daha yeni yinelemelerinde sabitlendiğine inanıyorum. Bunu Xcode 4.4'te (tamamen ARMv6 için 4,5 damla desteği) deneyin ve LLVM derleyicisini Thumb komut setini devre dışı bırakmadan kullanabileceğinizi düşünün. –

1

ben bu kesmek kullanıyorum:

// not working (location.x == location.y) 
CGPoint location = [touch locationInView:_myView]; 
// 

// working! 
static CGPoint location; 
location = [touch locationInView:_myView]; 
//