Friday 15 April 2011

objective c - How to hide masterView for UISplitViewcontroller in IOS8 -



objective c - How to hide masterView for UISplitViewcontroller in IOS8 -

all,

i have met problem new uisplitviewcontroller in ios8 ipad. have uitableview in storyboard in detailviewcontroller , on clicking cell, should go view called "detailinfo". current using "show" segue.

however, current segue force on right part. wanna show fullscreen , dont know how create it, tried using preferreddisplaymode property of splitviewcontroller , result hide master view didnt resize detailview. dont wanna using nowadays modal.

current way doing

- (void)prepareforsegue:(uistoryboardsegue *)segue sender:(id)sender { if([[segue identifier]isequaltostring:@"showstudentdetail"]){ if(self.traitcollection.horizontalsizeclass != uiuserinterfacesizeclasscompact){ uisplitviewcontroller *splitviewcontroller = (uisplitviewcontroller *)self.navigationcontroller.parentviewcontroller; splitviewcontroller.preferreddisplaymode = uisplitviewcontrollerdisplaymodeprimaryhidden; } } }

and in viewdidappear, using

- (void)viewdidappear:(bool)animated { if(self.traitcollection.horizontalsizeclass != uiuserinterfacesizeclasscompact){ uisplitviewcontroller *splitviewcontroller = (uisplitviewcontroller *)self.navigationcontroller.parentviewcontroller; splitviewcontroller.preferreddisplaymode = uisplitviewcontrollerdisplaymodeautomatic; } }

this work , masterviewcontroller "jump out" has bad visual effect. hope can help , give thanks you

uisplitviewcontroller complex view controller consists of 2 kid view controllers. when utilize segue added of kid view controller inquire kid view controller perform segue. , kid view controller has partial command of active window.

in case need inquire split view controller perform segue. should add together segue split view controller handles active window. way have fullscreen option.

update

if dont wanna using nowadays modal , want avoid "jump out" effect can hide master using animation

uisplitviewcontroller *splitviewcontroller = [self splitviewcontroller]; [uiview animatewithduration:0.25 animations:^{ splitviewcontroller.preferreddisplaymode = uisplitviewcontrollerdisplaymodeprimaryhidden; } completion:^(bool finished) { [splitviewcontroller showdetailviewcontroller:vc sender:nil]; }];

objective-c ipad ios8 uisplitviewcontroller

No comments:

Post a Comment