私はiOS開発にかなり慣れていないので、この問題についてたくさん読んでいますが、それでも理解できません。
アクションシートに、開始日/終了日を選択する画面であるスライドアップモーダルをアクティブにして表示するボタンがあります(独自のコントローラーがありDatePickerViewController
ます。アクションシートは、NavigationViewControllerのツールバーのボタンによってトリガーされます。サブビュー(「ショーのマップ」ビュー、左上のボタン)。グラフィックは現在のストーリーボードの関係を示しています。
このシーケンスのコードは次のようになります。
// ShowsContainerController.m
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if( buttonIndex == 1 ){
// 1. Activates from actionsheet
[(NavigationViewController *)self.parentViewController showDateSelect];
}
}
// NavigationViewController.m
// 2. fires up the datepicker view
-(void)showDateSelect
{
pickerView = [[DatePickerViewController alloc] init ];
[self presentViewController:pickerView animated:YES completion:nil];
}
// DatePickerViewController.m
// 3. Instantiation of this controller. Definitely fires nslog.
-(void)viewDidLoad
{
NSLog(@"Here");
}
「ここ」に入ると、画面が真っ暗になります。これは、日付ピッカーコントローラーのインスタンス化またはそれにセグエを使用して何かを正しく行っていないためだと思います。問題のすべてのビューは、ストーリーボード構成のそれぞれのコントローラーに関連付けられています。問題をさらに混乱させるために、私は別の画面用に作成したUITableViewControllerを持っており、たわごとや笑いのためだけにそれをロードしようとしましたが、正常に機能しました。次に、別の完全に別個のUIViewControllerを作成し、現在機能していないUIViewControllerを制御するコントローラーファイルをポイントしました。これも爆弾であるため、問題は、機能していないUIViewControllerのヘッダーファイルとメインファイルにあると考えています。ed。その最後のメモをスクラッチします。ビュー用に完全に新しいヘッダー、メインファイル、およびNIBを作成しましたが、それでも機能しませんでした。取引が一体何なのかわかりません。
ありとあらゆる助けをいただければ幸いです。
補遺
- (IBAction)showOptions:(id)sender
{
NSString *showTypes;
if( self.onlyShowPreferredEvents ){
showTypes = @"\u2713 Only shows that I'll like";
} else {
showTypes = @"Only shows that I'll like";
}
_showDisplayOptionsActionSheet = [[UIActionSheet alloc] initWithTitle:@"Event Display Settings" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: showTypes, @"Date Range", nil];
[_showDisplayOptionsActionSheet showFromTabBar:self.tabBarController.tabBar];
}
コメントによる。
補遺2 //DatePickerViewController.mのすべて
#import "DateRangeViewController.h"
@interface DateRangeViewController ()
@end
@implementation DateRangeViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
// All of DatePickerViewController.h
#import <UIKit/UIKit.h>
@interface DateRangeViewController : UIViewController
@end