سؤال

أحاول سحب UiimageView حول شاشة iPhone في تطبيقي.

حاليا وظيفة السحب التي قمت بإعدادها على ما يرام وسحب الصورة تنقله حول الشاشة، والمشكلة هي أنه ليس لديك لسحب عرض الصورة لنقله، يمكنك أيضا السحب في أي مكان على الشاشة وسوف نقل الصورة. أنا جديد في هذه المنصة حتى لا أستطيع التفكير في ما يجب القيام به لحل هذه المشكلة. الرمز الحالي الخاص بي لسحب الصورة هو:

 - (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    startLocation = pt;


}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    CGRect frame = [pig frame];
    frame.origin.x += pt.x - startLocation.x;
    frame.origin.y += pt.y - startLocation.y;
    [pig setFrame: frame];
}

أي مساعدة موضع تقدير. بالمناسبة الخنزير هو UiimageView. كما لاحظت أنه إذا قمت بتعيين تفاعل المستخدم "عرض الصورة" "خنزير" لتمكين الصورة لم تعد تسحب قادرة، ولكن عندما لا تكون محددة على تمكينها.

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

المحلول

يمكنك محاولة تحديد Subclass UiimageView وتنفيذها touchesBegan: و touchesMoved: على ذلك مباشرة. ثم في interfacebuilder حدد الفئة الفرعية الخاصة بك ل uiimageview.

النص البديل http://img.skitch.com/20090728-xetretcfubtcj7ujh1yc8165wj.jpg.jpg.jpg.

أوه نعم، الآن ستحتاج إلى تعيين تفاعل المستخدم مرة أخرى ...

نصائح أخرى

تحتاج إلى إرفاقها في تسلسل الرسوم المتحركة بالبدء / الالتزام على الأقل في موضوع Timer الخاص بك:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.02]  /* 0.02 seconds suration*/

/* move pig coordinates here */

[UIView commitAnimations];

احفظ الحركة الجديدة في اللمس ثم معالجةها في موضوع Timer.

يمكنك استخدام فئة UIVIEW لجعلها قابلة للتغذية وتحدد المنطقة الغثية:https://github.com/rtoshiro/txdraganddrop.

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