代码之家  ›  专栏  ›  技术社区  ›  Ash

仍然难以在视图之间正确交换

  •  0
  • Ash  · 技术社区  · 16 年前

    我有一个应用程序,使用了许多视图,在它们之间进行交换变得相当尴尬,所以我想这可能是一个想法,让一些代码自动转到一个编号的页面,加载适当的视图,然后执行任何需要基于该视图进行的设置。我得出了以下结论。我设置的测试页会将其交换为OK,甚至正确地设置委托,但它不会对页的内容执行任何设置操作,例如更改它包含的标签上的文本或将切换开关拨到on。我已经一步一步地完成了程序,所有的命令都在执行,但是结果并没有显示在最终的屏幕上。

    我也会想到,这些资源可能无法通过这段代码正确地发布,但这是我以后可以处理的事情,一旦我能弄清楚为什么它没有被正确地设置在第一位。

    代码如下:

    UIViewController *vanishing = currentMenu;
    
    if (page == 3){
        clusterMenu = [[ClusterMenu alloc] initWithHeader:clusterMap.header];
        [clusterMenu setDelegate:self];
        clusterMenu.editSwitch.on = clusterMap.editMode;
        [clusterMenu changeEditStatus];
        currentMenu = clusterMenu;
    }
    
    [UIView transitionFromView:vanishing.view toView:currentMenu.view duration:0.5 
                    options:UIViewAnimationOptionTransitionCurlUp 
                    completion:^(BOOL done){[vanishing release];}];
    
    2 回复  |  直到 16 年前
        1
  •  0
  •   Andrew Little    16 年前

    http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html

    我希望这有帮助。很抱歉,我不能给你一行。安得烈

        2
  •  0
  •   hotpaw2    16 年前

    将初始化命令放在视图的init方法中,并等待调用它。不要停止,因为这样会阻止加载视图,只需退出当前方法即可。

    在Cocoa中,你不告诉操作系统做什么,而是等待它告诉你。