اخطار‌های زیر رخ داد:
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 459 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 460 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 103 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 104 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 105 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 185 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 818 my_date
/showthread.php 24 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 103 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 163 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 104 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 163 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 105 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 163 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 185 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 163 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 365 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 103 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 540 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 104 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 540 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 105 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 540 my_date
/showthread.php 1063 build_postbit
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 185 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/inc/functions_post.php 540 my_date
/showthread.php 1063 build_postbit



برای ورود به پرتال وب سایت اسکریپت دات کام کلیک کنید

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آشنایی با برنامه نویسی آیفون - بخش اول :سفارشی سازی سلول های Table View
#1
ضمن عرض سلام و احترام خدمت تمامی کاربران فروم محبوب اسکریپت دات کام

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



در این مقاله به بررسی یک مطلب کاربردی در مورد ios می پردازیم.

سفارشی سازی سلول های Table View برای UITableView

در جلسه قبل از آموزش iOS ، ما یک اپ ساده Table View برای نشان دادن لیستی از دستور پخت ها با یک تصویر از پیش تعریف شده، ساختیم. در این آموزش ما کار بر روی اپ قبلی را ادامه داده و آن را بهتر خواهیم کرد:
  • نمایش تصاویر متفاوت برای هر ردیف - در نسخه قبلی، ما برای همه ردیف های جدول یک تصویر بندانگشتی نمایش دادیم. نشان دادن تصویر واحد برای هر دستور پخت کار درستی نیست!

  • سفارشی کردن سلول table view- به جای استفاده از سبک پیش فرض سلول table view، ما قصد داریم قالب خودمان را بسازیم.
نمایش تصاویر بندانگشتی متفاوت
قبل از این که اقدام به تغییر کد بکنیم، بیایید دوباره کد نمایش تصویر بند انگشتی در ردیف های جدول را مرور کنیم.
[تصویر:  image-20180619161419-1.png]
ما یک خط کد به ساختار 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” فعال شده باشد.
[تصویر:  image-20180619161419-2.png]
بعد از اضافه کردن فایل های تصویری، باید آنها را در Navigator پروژه پیدا کنید، مانند شکل زیر:
[تصویر:  image-20180619161419-3.png]
در آخر، خط کد در متد “cellForRowAtIndexPath” را تغییر دهید:
کد:
cell.imageView.image = [UIImage imageNamed:[thumbnails objectAtIndex:indexPath.row]];

[thumbnails objectAtIndex:indexPath.row] چیست؟
این خط کد، نام تصویر را برای ردیف خاصی برمی گرداند. برای اولین ردیف، صفت indexPath.row ، مقدار صفر را برمی گرداند و ما اولین تصویر (برای مثال egg_benedict.jpg) را از آرایه ی thumbnails با استفاده از متد “objectAtIndex” می گیریم.
ادامه دارد...
پاسخ }
سپاس شده توسط


پرش به انجمن: