用于创建新页面的 Xcode/界面构建器按钮



我在我的一个类中有一个按钮,我用xcode/接口生成器创建它,我想将我的按钮连接到另一个类,它创建了一个基于事件的日历,

我想按下我的按钮,但之后它会自动创建另一个页面,在该页面内还有另一个按钮 ->当我按下该按钮时,我可以访问基于事件的日历页面,我的问题是

如何删除第二页

下面是生成第二页和第三页的代码

AddEvent.h

#import <UIKit/UIKit.h>
#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>

@interface AddEvent : UIViewController <UINavigationBarDelegate, UITableViewDelegate, 
EKEventEditViewDelegate, UINavigationControllerDelegate, UIActionSheetDelegate> {
EKEventViewController *detailViewController;
EKEventStore *eventStore;
EKCalendar *defaultCalendar;
NSMutableArray *eventsList;
}
@property (nonatomic, retain) EKEventStore *eventStore;
@property (nonatomic, retain) EKCalendar *defaultCalendar;
@property (nonatomic, retain) NSMutableArray *eventsList;
@property (nonatomic, retain) EKEventViewController *detailViewController;
- (NSArray *) fetchEventsForToday;

@end

AddEvent.m

#import "AddEvent.h"
 @interface AddEvent ()
@end
@implementation AddEvent
@synthesize eventsList, eventStore, defaultCalendar, detailViewController;

  #pragma mark -
  #pragma mark View lifecycle
 - (void)viewDidLoad {

这是创建第二个屏幕的代码

self.title = @"Events List";
// Initialize an event store object with the init method. Initilize the array for events.
self.eventStore = [[EKEventStore alloc] init];
self.eventsList = [[NSMutableArray alloc] initWithArray:0];
// Get the default calendar from store.
self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents];
//  Create an Add button 
UIBarButtonItem *addButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:
                              UIBarButtonSystemItemAdd target:self action:@selector(addEvent:)];
 self.navigationItem.rightBarButtonItem = addButtonItem;

self.navigationController.delegate = self;
  // Fetch today's event on selected calendar and put them into the eventsList array
  [self.eventsList addObjectsFromArray:[self fetchEventsForToday]];

  }

 // Allow event editing.
 detailViewController.allowsEditing = YES;
 // Push detailViewController onto the navigation controller stack
 // If the underlying event gets deleted, detailViewController will remove itself from
//  the stack and clear its event property.
  [self.navigationController pushViewController:detailViewController animated:YES];
  }

  #pragma mark -
  #pragma mark Add a new event
  // If event is nil, a new event is created and added to the specified event store. New events are 
  // added to the default calendar. An exception is raised if set to an event that is not in the 
  // specified event store.

  - (void)addEvent:(id)sender {
  // When add button is pushed, create an EKEventEditViewController to display the event.
  EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil];
  // set the addController's event store to the current event store.
  addController.eventStore = self.eventStore;
  // present EventsAddViewController as a modal view controller
  [self presentModalViewController:addController animated:YES];
  addController.editViewDelegate = self;
   }

而且我不知道如何将第一个屏幕中的按钮连接到第三页并删除第二个屏幕

提前感谢!

在第一个视图控制器的视图中,添加以下 UIBarButton加号按钮的项代码

UIBarButtonItem *addButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:
                          UIBarButtonSystemItemAdd target:self action:@selector(addEvent:)];

self.navigationItem.rightBarButtonItem = addButtonItem;

并添加操作代码

- (void)addEvent:(id)sender 
{
// When add button is pushed, create an EKEventEditViewController to display the event.
EKEventEditViewController *addController = [[EKEventEditViewController alloc]initWithNibName:nil bundle:nil];         
// set the addController's event store to the current event store.
addController.eventStore = self.eventStore;
// present EventsAddViewController as a modal view controller
[self presentModalViewController:addController animated:YES];
addController.editViewDelegate = self;
}

然后添加必要的代码,以便在 EKEventEditViewController 的 viewDidLoad 中添加事件。

最新更新