Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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_Random - Fatal编程技术网

Ios 如何使用代码在情节提要中随机切换视图

Ios 如何使用代码在情节提要中随机切换视图,ios,objective-c,random,Ios,Objective C,Random,我想知道是否可能在故事板中随机切换视图。如果可能的话,你能告诉我怎么做吗。目前,我有一个随机循环的代码,但我没有切换视图的代码。下面列出了当前代码 -(IBAction)RandomButton:(id)sender { int randomviews = rand() % 2; switch (randomviews) { case 0: //// Where the code for switching views

我想知道是否可能在故事板中随机切换视图。如果可能的话,你能告诉我怎么做吗。目前,我有一个随机循环的代码,但我没有切换视图的代码。下面列出了当前代码

-(IBAction)RandomButton:(id)sender {

    int randomviews = rand() % 2;
    switch (randomviews) {
        case 0:

            //// Where the code for switching views

            break;
        case 1:

            //// Another spot for switching views

            break;

        default:
            break;
    }

}

我想你指的是切换视图控制器(VCs),而不是视图

如果要使用segue调用VC,可以使用performsguewithidentifier:sender:

如果您想使用推送到导航控制器上的方式调用VC,或者以模式推送它,您可以使用InstanceViewController WithiIdentifier:加载VC,然后根据需要调用生成的视图控制器


在上面的代码中,可以有一个包含segue或VC标识符的NSStrings数组,并使用randomViews值作为该数组的索引。然后使用该索引处的字符串作为标识符

如果您想随机更改您的视图,那么您需要做的是,您有一个当前视图处于活动状态的引用((即:
@property(strong,非原子)UIView*currentlyActiveView;
),并且您将该视图更改为以下内容:

-(IBAction)RandomButton:(id)sender {

    int randomviews = rand() % 2;
    switch (randomviews) {
        case 0:

            //// Where the code for switching views
            [self.currentlyActiveView removeFromSuperview];
            self.currentlyActiveView = [something loadSomeView:randomviews];
            [self.view addSubview:self.currentlyActiveView];
            //// ***** and this way you only have to write your code once, regardless of your current switch case ;)
            break;
        case 1:

            //// Another spot for switching views

            break;

        default:
            break;
    }

}
希望有帮助()