- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UITableViewController,当用户单击前一个 ViewController 中的一行(显示应用程序的所有联系人)时,就会调用该 UITableViewController。
我正在处理的这个 View 需要显示详细信息。现在我只与
最终我会添加更多信息,但这是我想要使用的概念证明数据。
传递到此场景的信息是从 Person 对象填充的。
我试图弄清楚当用户点击“编辑”时如何做一些事情。
我只需要一些帮助或朝正确方向插入。
这是我为此 ViewController 编写的代码
//
// SingleContactViewController.h
// General view to display a single person record
#import <UIKit/UIKit.h>
#import "PublicContactsViewController.h"
#import "Person.h"
@interface SingleContactViewController : UITableViewController <ADBannerViewDelegate>
@property (nonatomic, strong) Person *person;
@property (strong, nonatomic) IBOutlet UIBarButtonItem *editButton;
@property (nonatomic, assign, getter=isPrivate) BOOL private;
@property (strong, nonatomic) IBOutlet UITextField *firstNameTextField;
@property (strong, nonatomic) IBOutlet UITextField *lastNameTextField;
@property (strong, nonatomic) IBOutlet UITextField *homeEmailTextField;
@property (strong, nonatomic) IBOutlet UITextField *workEmailTextField;
@end
//
// SingleContactViewController.m
//
#import "SingleContactViewController.h"
#import "Person.h"
@interface SingleContactViewController ()
@property (strong, nonatomic) IBOutlet ADBannerView *banner;
@property (nonatomic, assign) BOOL isEditing;
- (IBAction)popBackToContacts:(UIBarButtonItem *)sender;
- (IBAction)editContact:(UIBarButtonItem *)sender;
@end
@implementation SingleContactViewController
- (void)viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:.498 green:0 blue:.0 alpha:1];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_banner.delegate = self;
NSLog(@"SingleContactView - viewDidLoad method: person = %@",self.person.firstName);
self.firstNameTextField.text = [self.person.firstName copy];
self.lastNameTextField.text = [self.person.lastName copy];
self.homeEmailTextField.text = [self.person.homeEmail copy];
self.workEmailTextField.text = [self.person.workEmail copy];
}
#pragma mark - Editing Methods
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
NSLog(@"Entered setEditing");
[super setEditing:editing animated:animated];
[self.tableView setEditing:editing animated:animated];
if (editing == YES){
// Change views to edit mode.
}
else {
//
}
}
- (IBAction)editContact:(UIBarButtonItem *)sender {
NSLog(@"User pressed 'Edit' button. Entered editContact method");
if ([self.tableView isEditing]) {
// If the tableView is already in edit mode, turn it off. Also change the title of the button to reflect the intended verb (‘Edit’, in this case).
UIBarButtonItem *newButton = [[UIBarButtonItem alloc]initWithTitle:@"Edit" style:UIBarButtonSystemItemDone target:self action:@selector(editContact:)];
self.navigationItem.rightBarButtonItem = newButton;
_editButton = newButton;
[self.tableView setEditing:NO animated:YES];
}
else {
UIBarButtonItem *newButton = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonSystemItemEdit target:self action:@selector(editContact:)];
self.navigationItem.rightBarButtonItem = newButton;
_editButton = newButton;
[self.tableView setEditing:YES animated:YES];
}
}
#pragma mark - Navigation Methods
- (IBAction)popBackToContacts:(UIBarButtonItem *)sender
{
[self.navigationController popViewControllerAnimated:YES];
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Perform Delete
// Animate the deletion
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationFade];
}
}
@end
最佳答案
我还没有浏览过你的代码。根据您请求帮助的问题,我说:
使用表格 View 显示用户联系方式详细信息。 (我看到已经完成了)
当用户点击“编辑”时,会将用户带到新的 View Controller (没有动画和隐藏导航栏),以便用户不了解页面的更改。
向用户显示联系人的所有属性(如果之前已填充或未填充),获取值并显示它们以供编辑。单击“完成编辑”时,将他带回用户详细信息 View Controller (无动画)并更新 TableView (对于哪些属性,值存在或不为零或不为空,这解决了第二个问题)。所以用户不会知道单独的编辑页面,但你的目的已经解决了
现在第三个问题来了,
关于ios - UITableViewController 显示人员信息 - 需要编辑帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501614/
是否有用于手动测试的代码覆盖工具?比如我新写了30行代码,编译,然后运行,有什么办法可以快速验证这30行都运行了吗? 另外,后来,在我将代码 checkin 正式版本后,有什么方法可以验证测试部门在进
老实说,这是一个家庭作业问题,但我已经浪费了好几个小时,而且无法正确解决。它返回错误数量的结果或错误的数据: 我需要选择参与指导电影和/或在电影中表演的每个人以及他们所做的次数,如果至少 5 次。 有
我正在尝试测试 MacOS 的应用内购买。输入测试用户凭据后,App Store 提示:“当前收据无效或 ds 人员 ID 不匹配。”并且购买失败。 最佳答案 我尝试了很多方法来解决这个问题。 Get
我正在为 Jenkins 使用 ActiveDirectory 插件,因此用户必须使用他们的凭据登录到 Jenkins。然后用户在 Jenkins 中被称为 joe.doe,这很完美。 当同一个人 c
如何从 Infopath 人员/组选取器检索电子邮件地址?当我将人员/组选取器添加到 infopath 表单时,我只得到 3 个字段 DisplayName、AccountId、AccountType
在 Snow Leopard 中,可以在 iCal 事件中显示空闲/忙碌时间。我搜索了 CalStore.framework 的 header ,但找不到任何描述该字段的属性。如何检索日历事件的忙/闲
是否有人成功地从专门针对 SharePoint 2013 的新建或编辑表单中获取用户(个人或组)字段的值? 我已经尝试了通过搜索互联网找到的所有解决方案以及我自己能想到的所有解决方案,所有结果都为空白
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我正在尝试将使用 Tomcat(最初是 5.5,但可以与 7 一起使用)在 MyEclipse 中开发的应用程序部署到我们的演示服务器 (Sun Java Web Server 7)。不幸的是,所有设
我是一名优秀的程序员,十分优秀!