【问题标题】:Switch 2 views with switch controller使用切换控制器切换 2 个视图
【发布时间】:2011-10-04 08:29:05
【问题描述】:

这是主视图,我想切换两个单独的视图;用于 ON 状态和 OFF 状态。

代码会是什么样子?

【问题讨论】:

    标签: iphone uiview ios4 uisegmentedcontrol uiswitch


    【解决方案1】:

    执行以下操作

      - (void)viewDidLoad //of mainViewController {
            //do viewController1 alloc init     // Gray Color
            [self.view addSubview:viewController1.view];
    
            //do viewController2 alloc init     //Red Color
            [self.view addSubview:viewController2.view];
    
            [viewController2.view setHidden:YES];
        }
    

    //assign this method to segmented controls' valueChanged event
        - (IBAction)segmentControlClicked:(id)sender {
            UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; // if segmented control is not declared as an IBOutlet
            if (segmentedControl.selectedSegmentIndex == 0) {
                [viewController1.view setHidden:NO];
                [viewController2.view setHidden:YES];
            }
            else if (segmentedControl.selectedSegmentIndex == 1) {
                [viewController2.view setHidden:NO];
                [viewController1.view setHidden:YES];
            }
        }
    

    确保 'y' 原点 viewController1 和 viewController2 在 Segmented Control 的下方,这样分段控件就不会被隐藏。

    【讨论】:

      【解决方案2】:

      您可以在 xib 中获取两个视图,并在视图加载时在主视图中添加两个视图,并为您不想显示的一个设置隐藏属性,然后为开关控制事件设置隐藏属性 TRUE 或 FALSE关闭。

      【讨论】:

        【解决方案3】:

        试试下面的

        - (IBAction)segmentControlClicked:(id)sender {
            if (!viewController1) {
                //do alloc init
            }
            if (!viewController2) {
                //do alloc init
            }
        
            UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;
            if (segmentedControl.selectedSegmentIndex == 0) {
                [viewController1.view setHidden:NO];
                [viewController2.view setHidden:YES];
            }
            else if (segmentedControl.selectedSegmentIndex == 1) {
                [viewController2.view setHidden:NO];
                [viewController1.view setHidden:YES];
            }
        }
        

        【讨论】:

        • 如何将其添加到该视图(图片中的灰色视图)?
        猜你喜欢
        • 2012-04-26
        • 1970-01-01
        • 2015-10-11
        • 2017-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多