自定义 UIStoryboardSegue 不工作
Custom UIStoryboardSegue not working
我正在尝试编写自己的自定义 UIStoryboardSegue
,其中 UIView
'slides' 从 sourceViewController
到 destinationViewController
。目前,我有以下代码:
- (void)perform {
UIViewController *sourceViewController = self.sourceViewController;
UINavigationController *navigationController = [[self sourceViewController] navigationController];
RestaurantViewController *destinationViewController = self.destinationViewController;
destinationViewController.colors.frame = CGRectMake(0, 0, 10, 10);
[sourceViewController.view addSubview:destinationViewController.tables];
[UIView animateWithDuration:10.0
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
destinationViewController.tables.frame = CGRectMake(100, 100, 100, 100);
}
completion:^(BOOL finished){
[destinationViewController.tables removeFromSuperview]; // remove from temp super view
[navigationController pushViewController:destinationViewController animated:NO]; // present VC
}];
}
作为测试,我只是在玩弄表格视图的框架。我还将持续时间设置为高达 10 秒,这样我就可以看到所有内容。但是,destinationViewController
只是卡入到位,完全忽略了我编写的所有代码。我在这里做错了什么?
您好,我正在尝试使用您的代码来完成这项工作,但我发现您的主要问题是您的 destinationViewController.tables
为 nil,这就是为什么似乎没有任何工作的原因。
您需要确保您的 destinationViewController.tables
不为零,您可以在 RestaurantViewController
class 中使用类似这样的东西来做到这一点
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
self.tables = [[UIView alloc]initWithCoder:coder];
}
return self;
}
希望对您有所帮助。对不起我的英语
我正在尝试编写自己的自定义 UIStoryboardSegue
,其中 UIView
'slides' 从 sourceViewController
到 destinationViewController
。目前,我有以下代码:
- (void)perform {
UIViewController *sourceViewController = self.sourceViewController;
UINavigationController *navigationController = [[self sourceViewController] navigationController];
RestaurantViewController *destinationViewController = self.destinationViewController;
destinationViewController.colors.frame = CGRectMake(0, 0, 10, 10);
[sourceViewController.view addSubview:destinationViewController.tables];
[UIView animateWithDuration:10.0
delay:0.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
destinationViewController.tables.frame = CGRectMake(100, 100, 100, 100);
}
completion:^(BOOL finished){
[destinationViewController.tables removeFromSuperview]; // remove from temp super view
[navigationController pushViewController:destinationViewController animated:NO]; // present VC
}];
}
作为测试,我只是在玩弄表格视图的框架。我还将持续时间设置为高达 10 秒,这样我就可以看到所有内容。但是,destinationViewController
只是卡入到位,完全忽略了我编写的所有代码。我在这里做错了什么?
您好,我正在尝试使用您的代码来完成这项工作,但我发现您的主要问题是您的 destinationViewController.tables
为 nil,这就是为什么似乎没有任何工作的原因。
您需要确保您的 destinationViewController.tables
不为零,您可以在 RestaurantViewController
class 中使用类似这样的东西来做到这一点
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self) {
self.tables = [[UIView alloc]initWithCoder:coder];
}
return self;
}
希望对您有所帮助。对不起我的英语