سؤال

لدي قيمة تسمى معرف العضو وأريد إرسالها إلى وحدة تحكم عرض أخرى ، إذا وضعت ما يلي في DeSelectRowatIndexPath ، فإن القيمة تنتقل إلى "العضو" المتغير.

int memberIndex = [indexPath indexAtPosition: [indexPath length] - 1];
    member = [[tableDataSource2 objectAtIndex: memberIndex] objectForKey:@"Memberid"];

إذا تم وضعه في cellforrow ، بالطبع يعاد كتابة كل صف تم إنشاؤه. لدي زر في كل صف يقوم بإطلاق عرض ViewController ، أريد أن يمسك إجراء الزر "عضو" بالصفوف ونقله إلى وحدة التحكم الجديدة. هل هناك "DeSselectbutton في طريقة مسار الفهرس" أو وسيلة للاستيلاء على ذلك أثناء الطيران؟

اي فكرة يمكن ان تكون رائعة. إنها المرة الأولى التي أقوم فيها بإضافة زر إلى UableView.

شكرًا

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

المحلول

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

accessoryButtonTappedForRowWithIndexPath: (NSIndexPath *) indexPath{ ... }

ستتمكن بعد ذلك من الاتصال بأسلوبك على مصدر بيانات الجدول الخاص بك وإطلاق العرض الثانوي.

نصائح أخرى

فقط العب مع "علامة".

كل UIVIEW لديه علامة السمة (int).

في cellforrowatindexpath:

//create yourButton and then
yourButton.tag = memberIndex;

وعندما تستخدم ibacte فقط احصل على المرسل:

- (IBAction) didSelectButton:(id)sender
{
int memberIndex = ((UIButton *)sender).tag;
//
}

نصائح: للحصول على المرسل عندما تقوم بتعيين خاصية الإجراء الخاصة بالزر الخاص بك ، لا تنسى ":"

على سبيل المثال

action = @selector(didSelectButton:);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top