উত্তর:
UITableView
একটি tableHeaderView
সম্পত্তি আছে। আপনি যেদিকে চান সেখানে সেট করুন।
একটি নতুন UIView
ধারক হিসাবে একটি নতুন ব্যবহার করুন, একটি নতুন পাঠ্য লেবেল এবং একটি চিত্র দেখুনUIView
, তারপরে tableHeaderView
নতুন দৃশ্যে সেট করুন ।
উদাহরণস্বরূপ, একটিতে UITableViewController
:
-(void)viewDidLoad
{
// ...
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)];
[headerView addSubview:imageView];
UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)];
[headerView addSubview:labelView];
self.tableView.tableHeaderView = headerView;
[imageView release];
[labelView release];
[headerView release];
// ...
}
public override UIView GetViewForHeader(UITableView tableView, nint section) { return headerView; } public override nfloat GetHeightForHeader(UITableView tableView, nint section) { return headerView.Frame.Height; }
আপনি ইন্টারফেস বিল্ডারে এটি বেশ সহজ করতে পারেন। কেবল একটি টেবিল দিয়ে একটি ভিউ তৈরি করুন এবং অন্য ভিউটি টেবিলের উপরে ফেলে দিন। এটি সারণী শিরোনামের দৃশ্যে পরিণত হবে। আপনার লেবেল এবং চিত্রটি সেই দৃশ্যে যুক্ত করুন। শ্রেণিবিন্যাসের জন্য নীচের ছবিটি দেখুন।
ইন সুইফট :
override func viewDidLoad() {
super.viewDidLoad()
// We set the table view header.
let cellTableViewHeader = tableView.dequeueReusableCellWithIdentifier(TableViewController.tableViewHeaderCustomCellIdentifier) as! UITableViewCell
cellTableViewHeader.frame = CGRectMake(0, 0, self.tableView.bounds.width, self.heightCache[TableViewController.tableViewHeaderCustomCellIdentifier]!)
self.tableView.tableHeaderView = cellTableViewHeader
// We set the table view footer, just know that it will also remove extra cells from tableview.
let cellTableViewFooter = tableView.dequeueReusableCellWithIdentifier(TableViewController.tableViewFooterCustomCellIdentifier) as! UITableViewCell
cellTableViewFooter.frame = CGRectMake(0, 0, self.tableView.bounds.width, self.heightCache[TableViewController.tableViewFooterCustomCellIdentifier]!)
self.tableView.tableFooterView = cellTableViewFooter
}
আপনি কেবল ইন্টারফেস বিল্ডারে কেবল একটি ইউআইভিউ তৈরি করতে এবং চিত্রকল্প এবং ইউআইএলবেলটিকে এটিকে আপনার পছন্দসই শিরোনামের মতো দেখানোর জন্য টেনে আনুন এবং এটিকে ব্যবহার করতে পারেন।
আপনার ইউআইভিউ একবার আপনার পছন্দ মতো দেখায়, আপনি প্রোগ্রাম থেকে XIB থেকে এটি আরম্ভ করতে পারেন এবং আপনার ইউআইটিএবলভিউতে যুক্ত করতে পারেন। অন্য কথায়, আপনাকে আইবিতে পুরো টেবিলটি ডিজাইন করতে হবে না। শুধু হেডারভিউ (এইভাবে শিরোনামের ভিউটি অন্য টেবিলগুলিতেও পুনরায় ব্যবহার করা যেতে পারে)
উদাহরণস্বরূপ, আমার আমার টেবিল শিরোনামের জন্য একটি কাস্টম ইউআইভিউ রয়েছে। ভিউটি "কাস্টমহিডারভিউ" নামে পরিচিত একটি এক্সিব ফাইল দ্বারা পরিচালিত হয় এবং এটি আমার ইউআইটিএবলভিউ কনট্রোলার সাবক্লাসে নিম্নলিখিত কোডটি ব্যবহার করে টেবিল শিরোনামে লোড করা হয়:
-(UIView *) customHeaderView {
if (!customHeaderView) {
[[NSBundle mainBundle] loadNibNamed:@"CustomHeaderView" owner:self options:nil];
}
return customHeaderView;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Set the CustomerHeaderView as the tables header view
self.tableView.tableHeaderView = self.customHeaderView;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.frame.size.width,30)];
headerView.backgroundColor=[[UIColor redColor]colorWithAlphaComponent:0.5f];
headerView.layer.borderColor=[UIColor blackColor].CGColor;
headerView.layer.borderWidth=1.0f;
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 5,100,20)];
headerLabel.textAlignment = NSTextAlignmentRight;
headerLabel.text = @"LeadCode ";
//headerLabel.textColor=[UIColor whiteColor];
headerLabel.backgroundColor = [UIColor clearColor];
[headerView addSubview:headerLabel];
UILabel *headerLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, headerView.frame.size.width-120.0, headerView.frame.size.height)];
headerLabel1.textAlignment = NSTextAlignmentRight;
headerLabel1.text = @"LeadName";
headerLabel.textColor=[UIColor whiteColor];
headerLabel1.backgroundColor = [UIColor clearColor];
[headerView addSubview:headerLabel1];
return headerView;
}