中心页脚UILabel分组UITableView – Swift
我目前正在向我的应用添加信息页面,并希望显示以分组UITableView的页脚为中心的应用程序的版本号。 我有它显示,但我不知道如何去集中它。
我已经看过使用tableviews viewForFooterInSection; 这将是未来的正确方法,还是有更简单的方法?
提前谢谢了。
只需在tableView中添加一个页脚,它就会放在底部,无论你有多少个部分
let tableViewFooter = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 50)) tableViewFooter.backgroundColor = UIColor.greenColor() let version = UILabel(frame: CGRectMake(8, 15, tableView.frame.width, 30)) version.font = version.font.fontWithSize(14) version.text = "Version 1.x" version.textColor = UIColor.lightGrayColor() version.textAlignment = .Center; tableViewFooter.addSubview(version) tableView.tableFooterView = tableViewFooter
如果要为每个部分添加页脚
在tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView
创建一个UIView()
tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView
? 方法并为该视图添加标签并将标签置于其中心。
例:
func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let view = UIView() let version = UILabel(frame: CGRectMake(8, 15, tableView.frame.width, 30)) version.font = version.font.fontWithSize(14) version.text = "Version 1.x" version.textColor = UIColor.lightGrayColor() version.textAlignment = .Center; view.addSubview(version) return view }
嗯,你的想法很好,这个代码示例将帮助你正确完成它。
- (UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { static UIView *footerView; if (footerView != nil) return footerView; NSString *footerText = NSLocalizedString(@"Some Display Text Key", nil); // set the container width to a known value so that we can center a label in it // it will get resized by the tableview since we set autoresizeflags float footerWidth = 150.0f; float padding = 10.0f; // an arbitrary amount to center the label in the container footerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, footerWidth, 44.0f)]; footerView.autoresizingMask = UIViewAutoresizingFlexibleWidth; // create the label centered in the container, then set the appropriate autoresize mask UILabel *footerLabel = [[[UILabel alloc] initWithFrame:CGRectMake(padding, 0, footerWidth - 2.0f * padding, 44.0f)] autorelease]; footerLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; footerLabel.textAlignment = UITextAlignmentCenter; footerLabel.text = footerText; [footerView addSubview:footerLabel]; return footerView; }