Xcode 4.2.1 Storyboard 多对一视图返回
Posted
技术标签:
【中文标题】Xcode 4.2.1 Storyboard 多对一视图返回【英文标题】:Xcode 4.2.1 Storyboard many-to-one view return 【发布时间】:2011-12-03 13:52:51 【问题描述】:我的设计有一个从多个不同视图调用的“关键”视图。
使用 Xcode Storyboard 如何在用户需要时“推送”键视图然后将其“弹出”以便用户返回正确的视图?
按钮好像只能链接一个返回点?
谢谢 吉姆
【问题讨论】:
您可能必须以编程方式进行。手动设置segue转场等 【参考方案1】:谢谢,chown - 你是对的。
解决方案是创建一个 UIViewController 子类,然后使用委托协议
DelegateClass.h
#import <UIKit/UIKit.h>
@protocol ReturnToMainMenu <NSObject>
@required
- (void) processSuccessful: (BOOL)success;
@end
@interface Recipe : UIViewController
id <ReturnToMainMenu> delegate;
@property (strong) id delegate;
-(IBAction)done:(id)sender;
@end
委托类.m
-(IBAction)backToMainMenu:(id)sender
[[self delegate] processSuccessful:YES];
然后在调用类中声明协议
@interface FoodGroup : UIViewController <ReturnToMainMenu>
- (void) processSuccessful:(BOOL)success
NSLog(@"Process completed");
[self dismissViewControllerAnimated:YES completion:nil];
//[self performSelector:@selector(done:)];
【讨论】:
【参考方案2】:Jim,您的 Recipe 类应该对其委托进行弱引用,以避免在委托及其所有者相互持有引用的保留周期中出现潜在问题,从而阻止正确释放两者。
在 ARC 之前,委托通常是(分配)属性。我不相信 ARC 会以任何方式改变这一点,除了将分配更改为弱。
【讨论】:
以上是关于Xcode 4.2.1 Storyboard 多对一视图返回的主要内容,如果未能解决你的问题,请参考以下文章
打开大型 Main.storyboard 时 Xcode 挂起/意外退出
ios - Xcode 9.4.1 在 main.storyboard 中卡住加载
Xcode 11,使用 Main.storyboard 修复的主界面 [重复]