مشکل عرض کامل و ارتفاع داینامیک در UICollectionView و چند خط نشدن لیبل متن
درود خدمت شما . به تصویر زیر نگاه کنید

در تصویر بالا همانطور که می بینید من چند مشکل دارم که یکیش حل می شه یکی دیگه حل نمی شه و برعکسشون
۱. من نیاز ب عرض ۹۸ درصدی یا ۱۰۰ درصدی دارم که هم زیبا بشه و هم کل صفحه رو بگیره
برای این کار من یک سرچ زدم به کد زیر رسیدم :
// fill the width
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let sizeWidthFullPage = 98
return CGSizeMake(collectionView.bounds.size.width, CGFloat(sizeWidthFullPage))
}
حالا مشکلات رو ببنید .

خوب
- نیاز به hight داینامیک دارم که این اتفاق پیش نیاد که سرچ زدم چیزی پیدا نکردم
- نیاز به این دارم که تیترم که بالا عکس هست hight اون و لاین اون هم داینامیک باشه با اینکه من بهش در اینترفیس بیلدر دو لاین دادم ولی بازم داره یک خط کامل رو می گیره دو لاین نمی شه و کمی هم داره به هم می زنه اندازه هامو
این مشکلات من بود که برخورد کردم نتونستم حل کنم یکی hight داینامیک هست و همینطور بهم نخوردن چهره اپ
نکته : من به صورت گرافیکی ارتفاع یک سلول زیاد می کنم هیچ تغییری تو اپ نداره
تشکر
درود آقای
کاشی زاده تشکر بخاطر پاسختون . هنوز دارم باهاشون کمی ور می رم بلخره درست بشند کمی بهتر شدند .
یک سوال داشتم برای فاصله دادن بین دو سلول در tableview تو اینترنت راه حل های زیادی هست مثلا یکی اومده بود زوجشو پیدا کرده بود بیسش یک بلاک دیگه درست کرد یا یکی عکس اومد قرار داد. شما برای فاصله دادن چیکار می کنید . چون موارد مذکور کمی کثیف کاری دارند یا چیزی بینشون باقی می مونه.
خود اینترفیس بیلدر فاصله بین دو سلول نداره فکر کنم فقط به صورت برنامه نویسی این امکان وجود داره
توی ویو کالکشن خیلی ساده بود فقط کافی بود کد زیر زده بشه و فصاله دلخواه داده بشه ولی تو تیبل ویو خیر
func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
// section
return 8.0
}
برای TableView هم اگر اشتباه نکنم این متد کاربرد داره :
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 10
}

درود قبلا همین تست کرده بودم متاسفانه جواب نداد اگر توجه بکنید به عکس فقط به اولین سلول کمی بالاش اضافه کرد
درود خدمت شما
آقای کاشی زاده این کل کد من هست مقایسه کردم با شما مشکلی نبود
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return number.count
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cells = tableView.dequeueReusableCellWithIdentifier("TableViewVCWEbBlogs", forIndexPath: indexPath) as! TableViewCellWebBlogs
cells.labelWebTitle.text = String(number[indexPath.row])
cells.lableWebDesc.text = String(number2[indexPath.row])
cells.uiimageWebImage.image = UIImage(named: "test")
// ui tableView
cells.labelWebTitle.font = UIFont(name: "IRANSansWeb", size: 11)
cells.lableWebDesc.font = UIFont(name: "IRANSansWeb", size: 11)
cells.layer.borderColor = UIColor.grayColor().CGColor
cells.layer.borderWidth = 0.5
cells.layer.cornerRadius = 2
// end ui tableView
return cells
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
let VcContent = storyboard?.instantiateViewControllerWithIdentifier("VcContent") as! ContentViewController
VcContent.titleContent = String(number2[indexPath.row])
navigationController?.pushViewController(VcContent, animated: true)
}
شما اشتباهی در اون می بینید ؟
واقعا ممنونم آقای کاشی زاده . چند روزی هست وقت منو همین بی تجربگی گرفته . فقط یک مشکل هست این وسط که تو تصویر شما هست . بک گراند پشتی برای شما هم رنگ غیر سفید هست. ( برای گرفتن وقتتون هم من واقعا شرمنده ام )
و من حتی برای cell اومد به صورت زیر تعریف کردم
cells.backgroundColor = UIColor.blackColor()
و همینطور برای خود تیبل ویو هم اومدم رنگ تعریف کردم از اینترفیس بیلدر متاسفانه همون رنگ گریی سفید کدر تو تصویر شما هست واسه منم هست
tableView.backgroundColor = UIColor.clearColor()
تشکر
بلخره پیداش کردم می زارم دوستان هم اگر نیاز داشتن ازش استفاده کننده
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
let headerView = UIView(frame: CGRectMake(0, 0, tableView.bounds.size.width, 30))
headerView.backgroundColor = UIColor.whiteColor()
return headerView
}
درود آقای کاشی زاده این مشکل فاصله مثل اینکه بیشتر از این حرفا کار داره طبق گفته شما که من قرار دادم مشکل فاصله حل شد ولی مشکل دیگه ای رو ایجاد کرد اونم در ادامه می گم ( من طبق آموزش قبلا برعکس بود این جاهاش )
بله مشکل در اونجا هست که مقدار این numberOfSectionsInTableView برابر تعداد خونه های آرایه باید باشه و numberOfRowsInSection باید 1 باشه . ( در 1 روز پیش )
باید تغییر می کرد که همین موضوع باعث این شد که کد فاصله درست بشه ولی طبق گفته شما اگر این کارو بکنم
let note = notes[indexPath.row] print(note.task_title)
فقط یک داده در کل سلول های چاپ می شه
ولی اگر من جای دوتا فانکشن رو تغییر بدم فاصله خراب می شه ولی داده ها درست می شه
تغییر کد به این صورت باشه اگر :
تشکر
درود مشکلشو فهمیدم باید بجای row سکشن قرار بدیم درست می شه
let note = notes[indexPath.section]
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .


