如何调整此表格视图的大小,以便我可以在屏幕顶部放置2个按钮而不会与表格视图重叠?在我的屏幕上我只有按钮。没有表视图容器。
我的代码:
class FriendListViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var friendArray: [Friends] = [];
let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: UIScreen.mainScreen().bounds, style: UITableViewStyle.Plain)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tableView)
let entityDescription = NSEntityDescription.entityForName("Friends", inManagedObjectContext:
managedObjectContext)
let request = NSFetchRequest()
request.entity = entityDescription
var friendObjs = [Friends]()
do {
friendObjs = try managedObjectContext.executeFetchRequest(request) as! [Friends]
}
catch {
// show something
}
for friend in friendObjs {
friendArray.append(friend)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return friendArray.count;
}
// assign the values in your array variable to a cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "cell")
cell.textLabel!.text = friendArray[indexPath.row].firstName;
return cell;
}
// Register when user taps a cell via alert message
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
let alert = UIAlertController(title: "Selected Item", message: "clicked", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
答案 0 :(得分:0)
一个选项是添加包含按钮的标题视图。这需要设置tableView的headerView属性或使用tableView委托方法。
另一种选择是添加视图并将其添加到框架的顶部。然后,您需要在初始化时调整表格视图的框架,以将其添加到该自定义视图下方。
为了显示数据,我注意到的一点是在提取完成后重新加载表视图。
答案 1 :(得分:0)
您是否尝试过放置一个tableview标题,您可以创建一个视图并设置符合您需要的帧并添加2个按钮。使用刚刚创建的视图对象设置tableview的tableviewviewheader属性。
let headerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 50))
将您的按钮作为子视图添加到headerView,然后
self.tableView.tableHeaderView = headerView