【问题标题】:Xcode 4.2.1 Storyboard many-to-one view returnXcode 4.2.1 Storyboard 多对一视图返回
【发布时间】:2011-12-03 13:52:51
【问题描述】:

我的设计有一个从多个不同视图调用的“关键”视图。

使用 Xcode Storyboard 如何在用户需要时“推送”键视图然后将其“弹出”以便用户返回正确的视图?

按钮好像只能链接一个返回点?

谢谢 吉姆

【问题讨论】:

  • 您可能必须以编程方式进行。手动设置segue转场等

标签: ios xcode storyboard uistoryboard


【解决方案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 会以任何方式改变这一点,除了将分配更改为弱。

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 2016-03-25
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2012-03-10
      相关资源
      最近更新 更多