ইউআইটিএবেল সেলগুলির মধ্যে একটি "স্পেস" থাকার একই ধারণাটি আমার করা দরকার। যেহেতু আপনি আক্ষরিকভাবে কক্ষগুলির মধ্যে স্থান যুক্ত করতে পারবেন না আপনি এটি ইউআইটিবেলভিউর ঘরের উচ্চতা ম্যানিপুলেট করে এবং তারপরে আপনার ঘরের কনটেন্টভিউতে একটি ইউআইভিউ যুক্ত করে নকল করতে পারেন। আমি যখন এটির অনুকরণ করছিলাম তখন অন্য পরীক্ষার প্রকল্পে আমি প্রোটোটাইপের স্ক্রিন শটটি দিয়েছিলাম:
এখানে কিছু কোড রয়েছে (দ্রষ্টব্য: প্রদর্শনের উদ্দেশ্যে প্রচুর হার্ড কোডিং মান রয়েছে)
প্রথমত, heightForRowAtIndexPath
ইউআইটিএবলভিউসেলতে বিভিন্ন উচ্চতার জন্য আমাকে সেট করার দরকার হয়েছিল।
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *text = [self.newsArray objectAtIndex:[indexPath row]];
if ([text isEqual:@"December 2012"])
{
return 25.0;
}
return 80.0;
}
এরপরে, আমি ইউআইটিএবলভিউকেলগুলির চেহারা এবং অনুভূতিকে কাজে লাগাতে চাই যাতে willDisplayCell:(NewsUITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
পদ্ধতিতে আমি এটি করি ।
- (void)tableView:(UITableView *)tableView willDisplayCell:(NewsUITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (cell.IsMonth)
{
UIImageView *av = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 20, 20)];
av.backgroundColor = [UIColor clearColor];
av.opaque = NO;
av.image = [UIImage imageNamed:@"month-bar-bkgd.png"];
UILabel *monthTextLabel = [[UILabel alloc] init];
CGFloat font = 11.0f;
monthTextLabel.font = [BVFont HelveticaNeue:&font];
cell.backgroundView = av;
cell.textLabel.font = [BVFont HelveticaNeue:&font];
cell.textLabel.textColor = [BVFont WebGrey];
}
if (indexPath.row != 0)
{
cell.contentView.backgroundColor = [UIColor clearColor];
UIView *whiteRoundedCornerView = [[UIView alloc] initWithFrame:CGRectMake(10,10,300,70)];
whiteRoundedCornerView.backgroundColor = [UIColor whiteColor];
whiteRoundedCornerView.layer.masksToBounds = NO;
whiteRoundedCornerView.layer.cornerRadius = 3.0;
whiteRoundedCornerView.layer.shadowOffset = CGSizeMake(-1, 1);
whiteRoundedCornerView.layer.shadowOpacity = 0.5;
[cell.contentView addSubview:whiteRoundedCornerView];
[cell.contentView sendSubviewToBack:whiteRoundedCornerView];
}
}
মনে রাখবেন যে আমি আমার সাদাটেউন্ডেড কর্নারভিউ উচ্চতা 70.0 করেছি এবং এটিই সিমুলেটেড স্পেসের কারণ কারণ ঘরের উচ্চতা আসলে 80.0 কিন্তু আমার কন্টেন্টভিউ 70.0 যা এটির উপস্থিতি দেয়।
এটি আরও ভাল অর্জনের অন্যান্য উপায় থাকতে পারে তবে এটি কীভাবে পেল তা আমি ঠিক কীভাবে করেছি। আমি আশা করি এটি অন্য কাউকে সাহায্য করতে পারে।