مخصص مشاكل ItementViewCell
-
16-09-2019 - |
سؤال
أنا مبتدئ.
لدي مخصص ayatableviewcell مع 3 عناصر:
uilabel uitextfield و uibutton
سؤالي هو، كيف أعرف من أي خلية تم النقر فوق الزر النقر فوق أو تم تحرير TextField؟
هل هناك طريقة لتعقبها؟
شكرا لأي ردود.
المحلول
ما أقوم به عادة هو بعد تكوين الخلية المخصصة، أحفظ NSINDEXPATH من الخلية في عنوان الزر الخاص باليوم UicontrolstateApplication.
في الجدول المطول الخاص بك: CellFOVERONINDEXPATH: الطريقة، عند تكوين الخلية:
[theButton setTitle:(NSString *)indexPath forState:UIControlStateApplication];
ثم، في الإجراء الخاص بك:
- (IBAction) buttonWasClicked:(UIButton *) senderButton {
NSIndexPath *indexPath;
indexPath = (NSIndexPath *)[senderButton titleForState:UIControlStateApplication];
NSLog(@"Sender button was clicked in cell at NSIndexPath section: %d row: %d ", [indexPath section], [indexPath row]);
}
أنا لست سعيدا حقا بهذه الطريقة. إذا كان لدى شخص ما طريقة نظافة للقيام بذلك، فأنا أحب أن أسمع عنها.
نصائح أخرى
إذا كان لديك فقط قسم واحد يمكنك تخزين indexPath.row
في ال button.tag
واستردادها في الإجراء الذي يتم تشغيله بواسطة هذا الزر.
لا تنتمي إلى StackOverflow