Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按下子视图中的按钮时应用程序崩溃_Ios_Objective C_Uiscrollview_Uibutton_Subview - Fatal编程技术网

Ios 按下子视图中的按钮时应用程序崩溃

Ios 按下子视图中的按钮时应用程序崩溃,ios,objective-c,uiscrollview,uibutton,subview,Ios,Objective C,Uiscrollview,Uibutton,Subview,我的滚动视图有一个大问题。我有这个代码,当我按下“registerView”的xib文件中的按钮时,应用程序崩溃: MainViewController.m: - (IBAction)btn_reset:(id)sender { } ViewDidLoad: UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.v

我的
滚动视图有一个大问题。我有这个代码,当我按下“registerView”的
xib
文件中的按钮时,应用程序崩溃:

MainViewController.m:

    - (IBAction)btn_reset:(id)sender {
}
ViewDidLoad:

UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollView.backgroundColor = [UIColor whiteColor];
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = NO;
scrollView.showsVerticalScrollIndicator = YES;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.contentSize = CGSizeMake(768, 1900);
[self.view addSubview:scrollView];


RegisterViewController *registerView = [[RegisterViewController alloc] init];
[scrollView addSubview:registerView.view];
“RegisterView”被添加到
滚动视图中,但当我按下“RegisterView”中的按钮时,应用程序会崩溃,并出现以下日志:

    2014-05-12 11:18:04.599 RegisterForm[16505:60b] -[UIScrollView modalPresentationStyle]: unrecognized selector sent to instance 0x13f517200
2014-05-12 11:18:04.602 RegisterForm[16505:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIScrollView modalPresentationStyle]: unrecognized selector sent to instance 0x13f517200'
*** First throw call stack:
(0x18a83709c 0x196c8dd78 0x18a83bd14 0x18a839a7c 0x18a7594ac 0x18d800a68 0x1000e76b4 0x18d70c2c0 0x18d70c044 0x18d7137dc 0x18d710ab0 0x18d78488c 0x1000e674c 0x18d7815cc 0x18d780fb8 0x18d77a9a0 0x18d70d530 0x18d70c720 0x18d77a0b0 0x190119128 0x190118c54 0x18a7f6fc8 0x18a7f6f28 0x18a7f514c 0x18a735b38 0x18d7792d4 0x18d7740e8 0x1000e7cd0 0x197277aa0)
libc++abi.dylib: terminating with uncaught exception of type NSException
按钮: RegisterViewController.h:

- (IBAction)btn_reset:(id)sender;
RegisterViewController.m:

    - (IBAction)btn_reset:(id)sender {
}

我尝试在
滚动视图中放置一个按钮,但是我无法访问“textfields”信息,所以我需要在“RegisterView”中放置一个按钮。我猜这与不保留“RegisterView”类有关。当您将其视图添加到scrollView时,一旦到达函数末尾,类本身就会被释放

尝试将RegisterView类声明为属性,如下所示:

@property (nonatomic, strong) RegisterView *registerView;
并将其添加到滚动视图中:

self.registerView = [[RegisterViewController alloc] init];
[scrollView addSubview:self.registerView.view];

我猜这与不保留“RegisterView”类有关。当您将其视图添加到scrollView时,一旦到达函数末尾,类本身就会被释放

尝试将RegisterView类声明为属性,如下所示:

@property (nonatomic, strong) RegisterView *registerView;
并将其添加到滚动视图中:

self.registerView = [[RegisterViewController alloc] init];
[scrollView addSubview:self.registerView.view];

在您的情况下,
MainViewController
没有保留
registerView
对象。要保留实例,需要将其添加为
MainViewController
childViewController

RegisterViewController *registerView = [[RegisterViewController alloc] init];
[self addChildViewController:registerView];
[scrollView addSubview:registerView.view];   

不需要声明任何附加属性,仅为此,
UIViewController
将保留其所有
childViewControllers
,在您的情况下
MainViewController
不保留
registerView
对象。要保留实例,需要将其添加为
MainViewController
childViewController

RegisterViewController *registerView = [[RegisterViewController alloc] init];
[self addChildViewController:registerView];
[scrollView addSubview:registerView.view];   

不需要声明任何附加属性,仅为此,
UIViewController
将保留其所有的
childViewControllers
在@interface中声明RegisterViewController*registerView或为其创建@property

@interface XXXXX ()
{
 RegisterView *registerView;
}


@属性(非原子,强)RegisterView*RegisterView

在@interface中声明RegisterViewController*registerView或为其创建@property

@interface XXXXX ()
{
 RegisterView *registerView;
}


@属性(非原子,强)RegisterView*RegisterView

请提供您的按钮的操作代码,按钮中没有代码,这就是为什么这很奇怪,每次我添加按钮时,编译并按下它就会崩溃。声明RegisterViewController*registerView,因为您没有用于按钮的OnTouchInside事件处理程序,但按下它会导致崩溃????O_oDo您可能有一个链接到按钮的模式序列?请提供您按钮的操作代码。按钮中没有代码,这就是为什么这很奇怪,每次我添加按钮时,编译并按下它就会崩溃。声明RegisterViewController*registerView,因为您没有用于按钮的OnTouchInside事件处理程序,但按它会导致崩溃????O_oDo你可能有一个连接到按钮的模态序列?