我遵循了“从今天开始开发iOS应用程序”教程。
应用程序的构建大致如我所料。但是,下面的块没有工作。
O将按钮链接到unwindToList: action
1)在项目导航器中,选择Main.storyboard。
2)在画布上,“控制”-从“取消”按钮拖动到“添加待办项目”场景dock.If中的“退出项目”--您不会在场景码头中看到退出项,而是看到场景的描述,单击画布上的缩放按钮:./Art/ Zoom _2x.png按钮,直到您看到它为止。
3)选择unwindToList:从快捷方式menu.This是您刚才添加到XYZToDoListViewController.m文件中的操作。这意味着,当单击Cancel按钮时,segue将展开,此方法将被调用。
4)在画布上,控制-从“完成”按钮拖动到theXYZAddToDoItemViewController场景码头的出口项。
5)从快捷菜单中选择unwindToList:。
教程上的所有其他方向都起作用了。生成编译时没有错误。当应用程序在模拟器中运行时,用户单击“完成”或“取消”,但焦点不会移回ToDoList场景。它只停留在添加项屏幕上。
任何关于正在发生的事情的想法。iOS 7.1
一些进一步的细节
,这是带有unwindToList的ToDoController.m
-(IBAction)unwindToList:(UIStoryboardSegue *)segue
{
ianNo00004AddToDoItemViewController *source = [segue sourceViewController];
ianNo00004ToDoItem *item = source.toDoItem;
if (item != nil) {
[self.toDoItems addObject:item];
[self.tableView reloadData];
}
}
**This is the ToDoListController.h**
@interface ianNo00004ToDoListViewController : UITableViewController
-(IBAction)unwindToList:(UIStoryboardSegue *)segue;
@endAddToItemViewController.m代码#导入"ianNo00004AddToDoItemViewController.h“
@interface ianNo00004AddToDoItemViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneButton;
@end
@implementation ianNo00004AddToDoItemViewController
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if (sender != self.doneButton) return;
if (self.textField.text.length > 0)
{
self.toDoItem = [[ianNo00004ToDoItem alloc] init];
self.toDoItem.itemName = self.textField.text;
self.toDoItem.completed = NO;
}
}发布于 2014-10-03 21:45:02
应该在XYZToDoListTableViewController.h中添加unwindToList方法。
(不是ItemViewController,而是TableViewController)
@interface XYZToDoListTableViewController : UITableViewController
-(IBAction)unwindToList:(UIStoryboardSegue *)segue;
@end然后在XYZToDoListTableViewController.m中添加以下代码
- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
}您使用的教程可能是旧版本,可能有一些错误。以下是最新版本:ref/doc/uid/TP40011343-CH8-SW7
发布于 2014-04-27 06:06:46
我也在做同样的例子,并且让我的例子发挥作用。查看“取消”和“已完成”按钮在故事板上的“添加待办事项”项上的“连接”检查器,并查看它们是否对触发的分页有操作。我从我的项目中的两个按钮中删除了该操作,并且Add To-Do项不会关闭,所以我认为您缺少了这些操作。
https://stackoverflow.com/questions/22893260
复制相似问题