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

如何从didFinishingPickingMediaWithInfo推送模式视图

  •  3
  • Andiih  · 技术社区  · 15 年前

    我有一个ImagePickerController,它允许用户获取或选择一个图像。 在-(void)ImagePickerController:(uiImagePickerController*)Picker didFinishingPickingMediaWithInfo:(nsDictionary*)信息中;我想触发打开另一个模式视图以捕获标题。为此我有个电话…… <代码> < PRE> -(无效)获取标题:(ID)OBJ{ textInput*ti=[[textInput alloc]initWithContent:@“”标题:@“”照片标题“源:2]; ti.代表=本人; [自我呈现模式视图控制器:TI动画:是]; [ti release];
    }

    问题是如何调用getCaption而不触发

    #6663 0x324ABB18 in-[uiview(hierarchy)_MakeSubtreePerformSelector:WithObject:WithObject:CopySublayers:()
    

    现在我知道了

    [self-performmselector:@selector(getcaption:)withobject:nil afterdelay:(nstimeinterval)1];
    < /代码> 
    
    

    在DidFinishingPickingMediaWithInfo中 这很糟糕,只有95%的可靠性捕获标题。为此我有个电话……

    -(无效)获取标题:(ID)OBJ{
    textInput*ti=[[textInput alloc]initWithContent:@“”标题:@“”照片标题“源:2];
    ti.代表=本人;
    [自我呈现模式视图控制器:TI动画:是];
    [Ti释放];
    }

    问题是如何调用getCaption而不触发

    #6663 0x324abb18 in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] ()
    

    现在我知道了

    [self performSelector:@selector(getcaption:)  withObject:nil afterDelay:(NSTimeInterval)1];
    

    在DidFinishingPickingMediaWithInfo中 这很糟糕,只有95%的可靠度

    1 回复  |  直到 13 年前
        1
  •  3
  •   Ed Marty    15 年前

    我认为问题在于,您试图在关闭旧视图之前显示新视图?我假设您在一个父视图控制器中,它以父视图的形式显示两个模式视图。如果是这种情况,则应在父视图完全隐藏前一个模式视图时显示新模式视图。具体来说,这发生在

    - (void) viewDidAppear:(BOOL)animated
    

    当然,您要确保只在前一个模式视图完成后显示第二个模式视图(即,当父视图出于任何其他原因出现时不显示该视图)。