2014-06-28 56 views
0

我正在創建NSDate對象,我有一個導航欄,我試圖保持在屏幕頂部的靜態位置。 我希望在導航欄下方創建NSDate對象,但是它們正在導航欄上方創建並向下推導航欄。如何限制導航欄,並防止它移動

Before adding date elements After adding date elements

這是我insertNewObject功能

- (void)insertNewObject 
{ 
if (!_objects) { 
    _objects = [[NSMutableArray alloc] init]; 
} 
[_objects insertObject:[NSDate date] atIndex:0]; 
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 
} 

我懷疑它有這個功能,調用insertNewObject方法來做。具體來說,我相信自我調用意味着它告訴它在ViewController的頂部創建它。

- (IBAction)addData:(id)sender { 
// call insertNewObject 
[self insertNewObject]; 
} 

如何約束我的導航欄並防止在導航欄上創建新的NSDate對象?

回答

1

如果你想使用導航欄(不是導航控制器),那麼你需要使用UIViewController而不是UITableViewController。 UITableViewController的視圖是表視圖,所以添加到視圖的任何東西都會成爲表的子視圖。使用UIViewController,您可以在頂部添加導航欄,然後在下面添加表格視圖。您必須爲表視圖添加一個IBOutlet,並使控制器成爲您的表的數據源和委託(當您使用UITableViewController時,這些東西是自動的)。

當然,替代方法是將UITableViewController嵌入到導航控制器中。