我使用的是UITableViewController
,我想要做的是在UIView
下添加自定义工具栏。
我已尝试启用navigationController
(下面的代码)的工具栏,但它似乎无法正常工作。 UITextField
不会调用代理人,文本字段的按键不会显示在文本字段中。
使用像这样的工具栏不是我的第一选择,我想在我的UITableViewController下我的自定义视图,我可以放置我的项目,就像一个UIToolbar。 (保持为UIView页脚)
代码:
self.navigationController.toolbarHidden = NO;
// create toolbar objects
UITextField *inputField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 230, 31)];
inputField.backgroundColor = [UIColor clearColor];
inputField.borderStyle = UITextBorderStyleRoundedRect;
inputField.inputAccessoryView = self.navigationController.toolbar;
inputField.returnKeyType = UIReturnKeyDone;
inputField.delegate = self;
UIButton *sendButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 30)];
sendButton.titleLabel.text = @"Send";
sendButton.backgroundColor = [UIColor greenColor];
// add objects into navigation controller
self.toolbarItems = [NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithCustomView:inputField],
[[UIBarButtonItem alloc] initWithCustomView:sendButton], nil];
答案 0 :(得分:5)
除了为您的实现创建UITableViewController
子类外,您可能会发现更简单地为普通UIViewController
创建子类并向其添加UITableView
。这将使您在自定义布局方面具有更大的灵活性。
基本上步骤是:
这样你可以将inputField和button添加到viewController的视图(在底部),它们不会滚动,因为它们与tableview是分开的。