مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

جلسه پنجم آموزش ios : انتخاب سطر Table View -کلیک سایت


جلسه پنجم: 

چگونگی مدیریت انتخاب سطر در UITableView

اگر شما تا کنون جلسات آموزشی دوره آموزش برنامه نویسی iOS را دنبال کرده باشید، ساخت اپ ساده Table View و سفارشی سازی سلول جدول را فرا گرفته اید. در این جلسه ، بر نمایش داده در یک سطر جدول تمرکز خواهیم کرد. اما ما از کجا بدانیم که چه هنگام ، روی یک سطر جدول ضربه زده می شود؟ این موضوعی است که در این پست به آن خواهیم پرداخت و چگونگی مدیریت انتخاب سطر را نشان خواهیم داد.
ابتدا، بیایید اپ خود و آن چه را که ما می خواهیم اضافه کنیم، ببینید.

دو تغییر هست که ما می خواهیم در این آموزش آنها را اعمال کنیم:

  • نمایش یک پیام هشدار زمانی که کاربر روی سطر ضربه می زند.
  • نمایش یک check mark زمانی که کاربر یک سطر را انتخاب می کند.

فهم UITableViewDelegate

هنگامی که شما اولین اپ ساده Table View را ساختید، دو نماینده (UITableViewDelegate, UITableViewDataSource) را در SimpleTableController.h اعلام کردید.

#import <UIKit/UIKit.h>
 
@interface SimpleTableViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
 
@end


همان طور که در آموزش قبلی مطرح کردیم، این دو نماینده به عنوان پروتکل Objective-C شناخته می شوند. شما باید از الزامات تعریف شده در این پروتکلها برای ساخت UITableView پیروی کنید.
آوردن نمایندگان مختلف در برنامه نویسی iOS بسیار متداول است. هر نماینده مسئول یک نقش یا وظیفه خاص برای ساده و تمیز نگه داشتن سیستم می باشد. هر زمان که یک شیء نیاز به انجام کار خاصی دارد، این کار بستگی به مدیریت کردن شیء دیگر دارد. این موضوع به عنوان تفکیک در طراحی سیستمها شناخته می شود.
وقتی به کلاس UITableView نگاه می کنید،  هر نماینده با اهداف مختلفی سروکار دارد. نماینده UITableViewDataSource که ما پیاده سازی کردیم، متدهایی را که برای نمایش داده های جدول استفاده می شوند، تعریف می کند. در سمت دیگر، UITableViewDelegate با ظاهر UITableView سر و کار دارد و هم چنین انتخاب ردیف را انجام می دهد.
واضح است که ما از UITableViewDelegate استفاده خواهیم کرد و متود موردنیاز برای انتخاب سطر را پیاده سازی خواهیم کرد.

مدیریت انتخاب سطر جدول

قبل از این که کد را تغییر دهیم، ممکن است از خود بپرسید:
چگونه می دانیم که چه متدهایی برای اجرا در UITableViewDelegate نیاز داریم؟
شما می توانید همیشه به مرجع برنامه نویسی iOS اپل مراجعه کنید. دو روش برای دستیابی به مستندات وجود دارد. می توانید به مستندات API در وب سایت اپل دسترسی یابید. یا به سادگی در داخل Xcode دنبال آن بگردید. برای مثال، می توانید مستندات API از UITableViewDelegate را بیاورید که کافی است فقط اشاره گر را بر روی نام کلاس برده و “control-command-?” را فشار دهید. شما صفحه پاپ آپ زیر را خواهید دید:

روی مرجع پروتکل UITableViewDelegate برای نمایش مستند API کلیک کنید.

اگر این مستند را خوانده باشید، خواهید فهمید که متدهایی که برای مدیریت انتخاب سطر به کار می روند، عبارتند از:

  • tableView:willSelectRowAtIndexPath
  •  tableView:didSelectRowAtIndexPath


هر دوی این متدها برای انتخاب سطر استفاده می شوند. تنها تفاوت آنها در این است که “willSelectRowAtIndexPath” زمانی که یک سطر تعیین شده، انتخاب می شود، فراخوانی می گردد. معمولاً از این متد برای جلوگیری از انتخاب یک سلول خاص استفاده می کنیم. به طور معمول، از متد “didSelectRowAtIndexPath” که بعد از این که کاربر یک سطر را انتخاب می کند، فراخوانی می شود، برای مدیریت انتخاب سطر استفاده می شود و این همان جایی است که کد را برای تعیین انجام عمل مورد نظر در هنگام انتخاب یک سطر، اضافه می کنید. در این آموزش، ما دو عمل را برای مدیریت انتخاب سطر اضافه خواهیم کرد.

  • نمایش پیام هشدار
  • نمایش check mark برای سطر انتخاب شده

کدهای برنامه

بسیار خوب! توضیح کافی است. برویم سراغ بخش جذاب- کد، کد، کد!

در Xcode، فایل “SimpleTableViewController.m” را باز کرده و متد زیرا را قبل از @end اضافه کنید:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIAlertView *messageAlert = [[UIAlertView alloc]
                                    initWithTitle:@"Row Selected" message:@"You've selected a row" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    
    // Display Alert Message
    [messageAlert show];
    
}


فهم کد بالا بسیار ساده است. وقتی یک سطر انتخاب می شود، اپ ، یک UIAlertView  می سازد و یک پیام هشدار نشان می دهد. سعی کنید اپ را اجرا کنید. چیزی که خواهید دید شبیه تصویر زیر است:

تکلیف شما
الان ما فقط یک پیام عمومی را هنگامی که یک سطر انتخاب می شود، نشان دادیم. همیشه بهتر است یک پیام اطلاعاتی مانند شکل زیرنشان داده شود:

فکر کنید چگونه می توانیم کد را تغییر دهیم که پیام هشداری مانند تصویر بالا نشان دهیم (سرنخ: پارامتر indexPath حاوی شماره سطر انتخاب شده است). اگر آموزش جلسه قبل دوره آموزش برنامه نویسی iOS را دنبال کرده باشید، کار سختی نیست.
آسان هست! نه؟ با استفاده از نماینده، انتخاب ردیف بسیار ساده است. در ادامه، ما چند خط کد برای نمایش یک تیک ، برای مورد انتخاب شده اضافه خواهیم کرد. قبل از آن، بیایید نگاهی به محتوای پیش فرض بک سلول جدول بیاندازیم.

سلول جدول را می توان به سه بخش تفکیک کرد:
تصویر- سمت چپ برای نمایش تصویر بند انگشتی در نظر گرفته شده است، شبیه چیزی که در آموزش اپ ساده TableView انجام داده ایم.
محتوا- بخش اصلی است که برای نمایش برچسب متن و متن کامل استفاده می شود.
ابزار جانبی- بخش سمت راست برای نمای اجزای جانبی در نظر گرفته شده است. سه نوع نمای لوازم جانبی پیش فرض وجود دارند که شامل اندیکاتور افشاء، دکمه مشاهده جزئیات و check mark است. شکل زیر نشان می دهد این شاخص ها چگونه ظاهر می شوند.

برای نمایش check mark وقتی که یک ردیف انتخاب شود، کافی است دو خط زیر را بعد از “[messageAlert show]” اضافه نمایید.

  UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.accessoryType = UITableViewCellAccessoryCheckmark;

 


خط اول سلول انتخاب شده جدول را با استفاده از IndexPath بازیابی می کند. خط دوم به روز رسانی های نمای لوازم جانبی از سلول را به یک check mark  پیوند می دهد.

اپ را کامپایل کرده و آن را اجرا کنید. بعد از این که به یک ردیف ضربه بزنید، شما باید یک check mark  ببینید.


الان وقتی شما یک سطر را انتخاب می کنید، سطر انتخاب شده با رنگ آبی برجسته خواهد شد. اگر این حالت را دوست ندارید، کد زیر را برای غیرفعال کردن انتخاب سطر اضافه کنید.

 

[tableView deselectRowAtIndexPath:indexPath animated:YES];

 


در جلسه بعد چه آموزشی خواهیم داشت؟
امیدواریم تا این جا از آموزش هایی که در زمینه Table View در دوره آموزش برنامه نویسی iOS ارائه کرده ایم، استفاده لازم را کسب نموده باشید. تاکنون شما باید درک بهتری در مورد چگونگی ایجاد table view، سفارشی سازی سلول جدول و مدیریت انتخاب سطر به دست آورده باشید. مطمئن باشید که اطلاعاتی که در این آموزش ها ارائه شده است، از المان های رایج UI در iOS می باشند.
هنوز در مورد برنامه نویسی iOS مطالب زیادی هست که باید یاد  بگیرید. در آموزش های بعدی خواهید دید که چگونه می توانید آرایه دستور پخت غذا را با یک فایل جایگزین کرده و Navigation Controller و Storyboard را برای ساخت اپ های پیچیده بشناسید.
 

 

فصلِ: 3 , تعداد قسمت ها: 179 , سطح: صفر تا صد

این فصل در یک نگاه:

در این دوره آموزشی ، برنامه نویسی اندروید و ios را با استفاده از زامارین خواهیم آموخت. همچنین به صورت کاملا پروژه محور ، اپلیکیشن فروشگاهی مشابه دیجی کالا را پیاده سازی خواهیم کرد. در انته…
فصلِ: 5 , تعداد قسمت ها: 221 , سطح: صفر تا صد
موضوعات: آموزش IOS

این فصل در یک نگاه:

در این فصل:-نمایش notification به کاربر زمانی که اتفاقاتی از قبیل لایک کردن پست و ... میافتد(این مبحث مبحثی مهم بوده و ج…

  توضیحات کلی دوره: با سلام خوش اومدین به حرفه ای ترین دوره ی Swift ابتدای کار ممکن است سوالی برای شما پیش آید: -من نیازی به ساخت اپلیکیشن اجتماعی ندارم چرا باید این دوره را ببینم؟ ج…
فصلِ: 7 , تعداد قسمت ها: 159 , سطح: صفر تا صد
موضوعات: آموزش IOS

این فصل در یک نگاه:

اپل نویس حرفه ای شوید... با این پکیج کسب درآمد میلیونی کنید....   در این پکیج به نکات ریز و درشت زیادی پرداختیم که خیلی خیلی میتونه به شما کمک کنه که تبدیل به برنامه نویس حرفه ای شوید... …
فصلِ: 12 , تعداد قسمت ها: 126 , سطح: صفر تا صد
موضوعات: آموزش IOS

این فصل در یک نگاه:

فصل 16 فصل آخرمون هست و میایم توی این فصل یه سری مباحث کوچیکی که جامونده و کارهای نهایی برای انتشار برنامه توی مایکت های…

با سلام نکته:هیچ نیازی به mac و یا iphone نیست... نکته:هیچ نیازی به بلد بودن برنامه نویسی از قبل نیست... مباحثی که توی این دوره مرور میکنیم میتونه ما رو از سطح صفر برنامه نویسی ios به صد …
فصلِ: 6 , تعداد قسمت ها: 194 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل آپدیت های مربوط به دوره را قرار میدهیم…

با سلام و خسته نباشد خدمت کلیک سایتی های عزیز در ادامه با توضیحات مختصری درمورد دوره ی react native با ما همراه باشید: React Native چیست؟ قطعا یکی از آرزوهای برنامه نویسان این میباشد که ب…
فصلِ: 5 , تعداد قسمت ها: 51 , سطح: صفر تا صد

این فصل در یک نگاه:

اموزش پرداخت درون برنامه ای بازار در یونیتی-اموزش خرید سکه در بازی-اموزش خرید مصرفی و غیر مصرفی…

توضیحات کلی مجموعه: آموزش مقدماتی تا پیشرفته یونیتی(ساخت بازی توپ چرخنده-اموزش بازی دوبعدی-اموزش بازی سه بعدی اول شخص شوتر-اموزش بازی سه بعدی رالی (ماشین سواری))   سرفصلهای دوره: نصب ی…
فصلِ: 2 , تعداد قسمت ها: 68 , سطح: صفر تا صد

این فصل در یک نگاه:

آموزش ساخت یک فروشگاه کوچک-آموزش کار با bottom navigation -آموزش کار با تب بار-آموزش کار با scrollview - آموزش کار با ان…

توضیحات کلی مجموعه: آموزش دوره فلاتر از پایه تا پیشرفته(این دوره به دوره متخصص فلاتر تغییر پیدا کرد) درسال های گذشته تعدا زیادی فریمورک معرفی شد که هرکدام تجربه خاص خودش رو داشت،اما فلاتر …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید