繁体   English   中英

如何在iPhone应用程序中打开“编辑联系人”窗口?

[英]How to open the Edit contact window in iphone app?

我正在从iPhone应用程序中的Addcontact单击添加联系信息。 我只想在同一Addcontact上打开编辑联系人窗口,以便用户可以编辑或删除刚刚添加的联系人。 我做了如下的东西

- (IBAction)AddContact
 {   
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef Showroom = ABPersonCreate();

//adding contact name as showroom name

ABRecordSetValue(Showroom, kABPersonFirstNameProperty, ShowroomName.text , nil);
   ABAddressBookAddRecord(addressBook, Showroom, nil);
ABAddressBookSave(addressBook, nil);
// Fetch the address book 
//ABAddressBookRef addressBook = ABAddressBookCreate();
// Search for the person named "Appleseed" in the address book

    //ABRecordRef Showroom = (ABRecordRef)[Showroom objectAtIndex:0];
    ABPersonViewController *picker = [[[ABPersonViewController alloc] init] autorelease];
    picker.personViewDelegate = self;
    picker.displayedPerson = Showroom;
    // Allow users to edit the person’s information
    picker.allowsEditing = YES;
[self.navigationController pushViewController:picker animated:YES];
}

这是我的地图应用程序。 在启动时,我会获得与联系人的展示厅结果。 我可以在编辑联系人窗口打开的情况下将其添加到iPHone联系人中。 但是,当我打开其他控制器以将用户选择的字符串地址传递给Map控制器以搜索陈列室位置时。 上面相同的代码不起作用。 我的意思是,它仅添加联系人,但没有得到编辑联系人窗口。

编辑:可能是关于导航控制器栏的问题,所以也请检查以下代码

- (void)viewWillAppear:(BOOL)animated 
   {
  [self.navigationController setNavigationBarHidden:YES animated:animated]; 
   } 
   - (void)viewDidLoad {

[self.navigationController setNavigationBarHidden:NO ];
self.navigationController.navigationBar.tintColor = [UIColor  colorWithRed:25.0/255.0f green:25.0/255.0f blue:25.0/255.0f alpha:1.0f];
   }
- (void)viewWillDisappear:(BOOL)animated
{ 
[self.navigationController setNavigationBarHidden:NO animated:animated];
 }

我希望这段代码对您有用,我实现了该代码,并且在我的应用程序中工作正常,谢谢

contecviewcontroller.h
@interface DetailsViewController : UIViewController
DocumentNavController *coffeeObj;
editViewController *evController;
int currentindex;
}

@property (nonatomic, retain) DocumentNavController *coffeeObj;
@property (readwrite, assign) int currentindex;    
@end

contecviewcontroller.m

- (void)viewDidLoad {
  [super viewDidLoad];
//self.navigationController.toolbar.tintColor = [UIColor darkGrayColor];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
                                           initWithBarButtonSystemItem:UIBarButtonSystemItemEdit 
                                           target:self action:@selector(goToEdit)]autorelease];
}


-(void)goToEdit{

if(evController == nil)
    evController = [[editViewController alloc]initWithNibName:@"editViewController" bundle:nil];
evernoteAppDelegate *appdelegete = (evernoteAppDelegate *)[[UIApplication sharedApplication]delegate];
coffeeObj = [appdelegete.noteArray objectAtIndex:currentindex];

evController.Editcurrentindex = currentindex;
evController.docedObj = coffeeObj;
[self.navigationController pushViewController:evController animated:YES];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM