ضمن عرض سلام و احترام خدمت تمامی کاربران فروم محبوب اسکریپت دات کام
همانطور که دیروز قول دادم بهتون ،قصد دارم یکسری مقالات در زمینه برنامه نویسی های مختلف ، برای شما عزیزان قرار دهم . پیشاپیش از تمامی مدیران فروم قدردانی میکنم بابت این فروم بسیار مفید و کاربردی.
در این مقاله به بررسی یک مطلب کاربردی در مورد ios می پردازیم.
سفارشی سازی سلول های Table View برای UITableView
در جلسه قبل از آموزش iOS ، ما یک اپ ساده Table View برای نشان دادن لیستی از دستور پخت ها با یک تصویر از پیش تعریف شده، ساختیم. در این آموزش ما کار بر روی اپ قبلی را ادامه داده و آن را بهتر خواهیم کرد:
اگر به پارامتر متد نگاه کنید، خواهید دید که “indexPath” را زمانی که درخواست می شود، ارسال می کند. پارامتر indexPath حاوی شماره ردیف جدول (و هم چنین شماره بخش) ردیف جدول است. شما می توانید به سادگی از صفت “indexPath.row” برای پیدا کردن این که کدام ردیف در حال حاضر به آن اشاره شده است، استفاده کنید. این مقاله از این لینک ارائه شده : لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید مانند آرایه، شماره ردیف جدول از صفر شروع می شود. به عبارت دیگر، صفت “indexPath.row” مقدار 0 را برای اولین ردیف از جدول برمی گرداند.
برای نشان دان تصاویر بندانگشتی متفاوت، یک آرایه جدید ( برای مثال thumbnails) اضافه می کنیم که نام فایل thumbnailها را ذخیره می کند.
همان طور که در کد بالا می بینید، یک آرایه thumblails را با لیستی از نام تصاویر تعریف کردیم. ترتیب تصاویر مطابق با “tableData” می باشد.
شما می توانید تصاویر مورنظر خود را دانلود کرده و آنها را به پروژه خود اضافه نمایید. مطمئن شوید که “Copy items into destination group’s folder” فعال شده باشد.
بعد از اضافه کردن فایل های تصویری، باید آنها را در Navigator پروژه پیدا کنید، مانند شکل زیر:
در آخر، خط کد در متد “cellForRowAtIndexPath” را تغییر دهید:
ادامه دارد...
همانطور که دیروز قول دادم بهتون ،قصد دارم یکسری مقالات در زمینه برنامه نویسی های مختلف ، برای شما عزیزان قرار دهم . پیشاپیش از تمامی مدیران فروم قدردانی میکنم بابت این فروم بسیار مفید و کاربردی.
در این مقاله به بررسی یک مطلب کاربردی در مورد ios می پردازیم.
سفارشی سازی سلول های Table View برای UITableView
در جلسه قبل از آموزش iOS ، ما یک اپ ساده Table View برای نشان دادن لیستی از دستور پخت ها با یک تصویر از پیش تعریف شده، ساختیم. در این آموزش ما کار بر روی اپ قبلی را ادامه داده و آن را بهتر خواهیم کرد:
- نمایش تصاویر متفاوت برای هر ردیف - در نسخه قبلی، ما برای همه ردیف های جدول یک تصویر بندانگشتی نمایش دادیم. نشان دادن تصویر واحد برای هر دستور پخت کار درستی نیست!
- سفارشی کردن سلول table view- به جای استفاده از سبک پیش فرض سلول table view، ما قصد داریم قالب خودمان را بسازیم.
نمایش تصاویر بندانگشتی متفاوت
قبل از این که اقدام به تغییر کد بکنیم، بیایید دوباره کد نمایش تصویر بند انگشتی در ردیف های جدول را مرور کنیم.
ما یک خط کد به ساختار UITableView برای نمایش تصویر “creme_brelee.jpg” اضافه کردیم. بدیهی است برای نشان دادن تصاویر متفاوت، ما باید این خط کد را تغییر دهیم. همان طور که قبلاً توضیح داده شد، متد “cellForRowAtIndexPath” به صورت خودکار ، قبل از نمایش هر سطر جدول توسط iOS فراخوانی می شود.
ما یک خط کد به ساختار UITableView برای نمایش تصویر “creme_brelee.jpg” اضافه کردیم. بدیهی است برای نشان دادن تصاویر متفاوت، ما باید این خط کد را تغییر دهیم. همان طور که قبلاً توضیح داده شد، متد “cellForRowAtIndexPath” به صورت خودکار ، قبل از نمایش هر سطر جدول توسط iOS فراخوانی می شود.
کد:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
اگر به پارامتر متد نگاه کنید، خواهید دید که “indexPath” را زمانی که درخواست می شود، ارسال می کند. پارامتر indexPath حاوی شماره ردیف جدول (و هم چنین شماره بخش) ردیف جدول است. شما می توانید به سادگی از صفت “indexPath.row” برای پیدا کردن این که کدام ردیف در حال حاضر به آن اشاره شده است، استفاده کنید. این مقاله از این لینک ارائه شده : لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید مانند آرایه، شماره ردیف جدول از صفر شروع می شود. به عبارت دیگر، صفت “indexPath.row” مقدار 0 را برای اولین ردیف از جدول برمی گرداند.
برای نشان دان تصاویر بندانگشتی متفاوت، یک آرایه جدید ( برای مثال thumbnails) اضافه می کنیم که نام فایل thumbnailها را ذخیره می کند.
کد:
@implementation SimpleTableViewController
{
NSArray *tableData;
NSArray *thumbnails;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Initialize table data
tableData = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto", @"Full Breakfast", @"Hamburger", @"Ham and Egg Sandwich", @"Creme Brelee", @"White Chocolate Donut", @"Starbucks Coffee", @"Vegetable Curry", @"Instant Noodle with Egg", @"Noodle with BBQ Pork", @"Japanese Noodle with Pork", @"Green Tea", @"Thai Shrimp Cake", @"Angry Birds Cake", @"Ham and Cheese Panini", nil];
// Initialize thumbnails
thumbnails = [NSArray arrayWithObjects:@"egg_benedict.jpg", @"mushroom_risotto.jpg", @"full_breakfast.jpg", @"hamburger.jpg", @"ham_and_egg_sandwich.jpg", @"creme_brelee.jpg", @"white_chocolate_donut.jpg", @"starbucks_coffee.jpg", @"vegetable_curry.jpg", @"instant_noodle_with_egg.jpg", @"noodle_with_bbq_pork.jpg", @"japanese_noodle_with_pork.jpg", @"green_tea.jpg", @"thai_shrimp_cake.jpg", @"angry_birds_cake.jpg", @"ham_and_cheese_panini.jpg", nil];
}
همان طور که در کد بالا می بینید، یک آرایه thumblails را با لیستی از نام تصاویر تعریف کردیم. ترتیب تصاویر مطابق با “tableData” می باشد.
شما می توانید تصاویر مورنظر خود را دانلود کرده و آنها را به پروژه خود اضافه نمایید. مطمئن شوید که “Copy items into destination group’s folder” فعال شده باشد.
بعد از اضافه کردن فایل های تصویری، باید آنها را در Navigator پروژه پیدا کنید، مانند شکل زیر:
در آخر، خط کد در متد “cellForRowAtIndexPath” را تغییر دهید:
کد:
cell.imageView.image = [UIImage imageNamed:[thumbnails objectAtIndex:indexPath.row]];
[thumbnails objectAtIndex:indexPath.row] چیست؟
این خط کد، نام تصویر را برای ردیف خاصی برمی گرداند. برای اولین ردیف، صفت indexPath.row ، مقدار صفر را برمی گرداند و ما اولین تصویر (برای مثال egg_benedict.jpg) را از آرایه ی thumbnails با استفاده از متد “objectAtIndex” می گیریم.ادامه دارد...