محاولة حل اللمس لموقع دائما بإرجاع صفر (0)، والعاشر الموقع

StackOverflow https://stackoverflow.com/questions/1022187

سؤال

وأثناء كتابة معالج touchesBegan عن وجهة نظري أنا واجهت هذا الخطأ مثيرة للاهتمام.

والرمز:

...
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
...

والمشكلة هي point.x دائما الصفر، بغض النظر عن مكان وأنا "لمسة" و y هو عدد ضخم flunctuates في مكان ما بين 1070000000 1090000000 و.

ومقابض في فئة عرض ويعمل نفس الشيء أمرر شيء بدلا من النفس لlocationInView. كما أنني حاولت حلقات على كل من اللمسات، وهناك فقط أن واحدة مع x صفر دائما.

وهكذا ماذا أفعل الخطأ هنا؟

هل كانت مفيدة؟

المحلول

وأي فرصة كنت تستخدم NSLog (@ "٪ د، د٪"، point.x، point.y)؛ لطباعة القيم النقطة؟ هذا يبدو وكأنه نوع من تعويم -> كثافة خطأ التحويل. لقد استعملت locationInView: الكثير، وأنا لم أصب مشكلة من هذا القبيل.

وكنت قد تحاول أيضا فحص [إطار النفس] للتأكد من انها غير صفرية.

نصائح أخرى

وبن على حق. المشكلة هي عند محاولة طباعة القيمة باستخدام %d في NSLog، لأن point.x وpoint.y هي قيم التعويم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top