Iphone UIVIEW控制器难度

Iphone UIVIEW控制器难度,iphone,ios,xcode,Iphone,Ios,Xcode,//rootViewController.h #import <UIKit/UIKit.h> #import "SettingsViewController.h" #import "OneSlotViewController.h" #import "TwoSlotViewController.h" #import "BingoSlotViewController.h" #import "SettingsViewController.h" @interface RootViewVie

//rootViewController.h

#import <UIKit/UIKit.h>
#import "SettingsViewController.h"
#import "OneSlotViewController.h"
#import "TwoSlotViewController.h"
#import "BingoSlotViewController.h"
#import "SettingsViewController.h"

@interface RootViewViewController : UIViewController{

    IBOutlet UIButton *owaru;
    OneSlotViewController *oneSlotViewController;
    TwoSlotViewController *button2ViewController;
    BingoSlotViewController *button3ViewController;
    UIViewController *pushedController;
    UIButton *hajimekara;
    SettingsViewController *settingsVc;


}
@property (retain, nonatomic) UIButton *hajimekara;
@property (strong, nonatomic) IBOutlet UIButton *owaru;
@property (nonatomic, retain) OneSlotViewController *button1ViewController;
@property (nonatomic, retain) TwoSlotViewController *button2ViewController;
@property (nonatomic, retain) BingoSlotViewController *button3ViewController;
@property (nonatomic, retain) UIViewController *pushedController;
@property (nonatomic, retain) SettingsViewController *settingsVc;
#import "OneSlotViewController.h"
#import "TwoSlotViewController.h"
#import "BingoSlotViewController.h"

#import "SettingsViewController.h"

#import "AGImagePickerController.h"


@class RootViewViewController;


@interface SettingsViewController : UIViewController<UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIPopoverControllerDelegate,UIScrollViewDelegate>{


    OneSlotViewController *oneSlotViewController;
    TwoSlotViewController *button2ViewController;
    BingoSlotViewController *button3ViewController;
    UIViewController *pushedController;
     RootViewViewController *mainVc;
    UIImageView *lastPriceView;
    CustomImagePicker *_imagePicker;
    UINavigationController *navController;

}


@property (nonatomic, retain) UIPopoverController *popoverController;
@property (nonatomic, retain) OneSlotViewController *button1ViewController;
@property (nonatomic, retain) TwoSlotViewController *button2ViewController;
@property (nonatomic, retain) BingoSlotViewController *button3ViewController;
@property (nonatomic, retain) UIViewController *pushedController;
@property (nonatomic, retain) RootViewViewController *mainVc;
@property (strong, nonatomic) IBOutlet UIImageView *lastPriceView;
@property (nonatomic, retain) CustomImagePicker *imagePicker;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
//设置ViewController.h

#import <UIKit/UIKit.h>
#import "SettingsViewController.h"
#import "OneSlotViewController.h"
#import "TwoSlotViewController.h"
#import "BingoSlotViewController.h"
#import "SettingsViewController.h"

@interface RootViewViewController : UIViewController{

    IBOutlet UIButton *owaru;
    OneSlotViewController *oneSlotViewController;
    TwoSlotViewController *button2ViewController;
    BingoSlotViewController *button3ViewController;
    UIViewController *pushedController;
    UIButton *hajimekara;
    SettingsViewController *settingsVc;


}
@property (retain, nonatomic) UIButton *hajimekara;
@property (strong, nonatomic) IBOutlet UIButton *owaru;
@property (nonatomic, retain) OneSlotViewController *button1ViewController;
@property (nonatomic, retain) TwoSlotViewController *button2ViewController;
@property (nonatomic, retain) BingoSlotViewController *button3ViewController;
@property (nonatomic, retain) UIViewController *pushedController;
@property (nonatomic, retain) SettingsViewController *settingsVc;
#import "OneSlotViewController.h"
#import "TwoSlotViewController.h"
#import "BingoSlotViewController.h"

#import "SettingsViewController.h"

#import "AGImagePickerController.h"


@class RootViewViewController;


@interface SettingsViewController : UIViewController<UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIPopoverControllerDelegate,UIScrollViewDelegate>{


    OneSlotViewController *oneSlotViewController;
    TwoSlotViewController *button2ViewController;
    BingoSlotViewController *button3ViewController;
    UIViewController *pushedController;
     RootViewViewController *mainVc;
    UIImageView *lastPriceView;
    CustomImagePicker *_imagePicker;
    UINavigationController *navController;

}


@property (nonatomic, retain) UIPopoverController *popoverController;
@property (nonatomic, retain) OneSlotViewController *button1ViewController;
@property (nonatomic, retain) TwoSlotViewController *button2ViewController;
@property (nonatomic, retain) BingoSlotViewController *button3ViewController;
@property (nonatomic, retain) UIViewController *pushedController;
@property (nonatomic, retain) RootViewViewController *mainVc;
@property (strong, nonatomic) IBOutlet UIImageView *lastPriceView;
@property (nonatomic, retain) CustomImagePicker *imagePicker;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
我已经声明在这两个控制器上存在实例。 无论何时按下SettingsViewController中的按钮,它都会将ViewController传递到主ViewController的开始按钮。
但我似乎不能让它工作。感谢您的帮助。

设置viewcontroller.pushedController和MainViewController.pushedController是独立的变量。改变一个不会影响另一个

你有两个选择。您需要将SettingsViewController存储在MainViewController中,或者将MainViewController传递给SettingsViewController

如果MainViewController保留对设置ViewController的引用,则您可以:

-(IBAction) startButtonPressed:(id) sender { 
    if (self.settingsViewController.pushedController!=nil) { 
        NSLog(@"push"); 
        [self presentViewController:self.settingsViewController.pushedController animated:YES completion:NULL]; 
    } 
}
-(IBAction) button1Pressed:(id)sender {
    if (self.button1ViewController==nil) {
        button1ViewController = [[ViewOneController alloc] init];
    }
    self.mainViewController.pushedController = button1ViewController;
}

-(IBAction) button2Pressed:(id)sender {
    if (self.button2ViewController==nil) {
        button2ViewController = [[ViewTwoController alloc] init];
    }
    self.mainViewController.pushedController = button2ViewController;
}

-(IBAction) button3Pressed:(id)sender {
    if (self.button3ViewController==nil) {
        button3ViewController = [[ViewThreeController alloc] init];
    }
    self.mainViewController.pushedController = button3ViewController;
}
如果向SettingsViewController传递了对MainViewController的引用,则您可以:

-(IBAction) startButtonPressed:(id) sender { 
    if (self.settingsViewController.pushedController!=nil) { 
        NSLog(@"push"); 
        [self presentViewController:self.settingsViewController.pushedController animated:YES completion:NULL]; 
    } 
}
-(IBAction) button1Pressed:(id)sender {
    if (self.button1ViewController==nil) {
        button1ViewController = [[ViewOneController alloc] init];
    }
    self.mainViewController.pushedController = button1ViewController;
}

-(IBAction) button2Pressed:(id)sender {
    if (self.button2ViewController==nil) {
        button2ViewController = [[ViewTwoController alloc] init];
    }
    self.mainViewController.pushedController = button2ViewController;
}

-(IBAction) button3Pressed:(id)sender {
    if (self.button3ViewController==nil) {
        button3ViewController = [[ViewThreeController alloc] init];
    }
    self.mainViewController.pushedController = button3ViewController;
}

选择其中一个,您应该可以。

我的主视图是我的根视图。无法实例化它您不需要从另一个实例化一个,您只需要将两者连接起来。使用界面生成器、应用程序代理或其他一些点。必须有一种方法将两者链接在一起。你能发布新代码吗,包括你如何连接MainViewController和SettingsViewController?你如何在RootViewController中设置
self.settingsVc
?我不知道。我那时刚进口。将它们相互连接起来。“为什么?”詹补充道,很抱歉。