iphone - UIProgressView Not DIsplaying -
i have uiprogressview want run on glkviewcontroller while rest of code being loaded ios. have placed uiprogressview 'viewdidload' method. uiprogressview not display until of code has been loaded viewdidload method. how can uiprogressview display viewdidload method called , end when viewdidload method finished?
- (void)viewdidload { [super viewdidload]; // progress bar [threadprogressview setprogress: 0.0]; [self performselectoronmainthread:@selector(updateprogressbar) withobject:nil waituntildone:no]; // disbale iphone locking [[uiapplication sharedapplication] setidletimerdisabled: yes]; // set context use open gl es self.context = [[eaglcontext alloc] initwithapi:keaglrenderingapiopengles2]; if (!self.context) { nslog(@"failed create es context"); } // create view display open gl es content glkview *view = (glkview *)self.view; view.context = self.context; view.drawabledepthformat = glkviewdrawabledepthformat24; /******** default settings **********/ m_kf = 0; // current keyframe id. m_avpos = glkvector3make(0.0f, 0.0f, -35.0f); // put avata. m_campos = glkvector3make(0.0f, 10.0f, -35.0f); // camera orbits point. m_camdist = 30.0f; // distance of camera orbit point. /******** set open gl ***********/ [self setupgl]; /********* touch implementation *********/ // pinch recongizer detects pinches , used zoom in/out uipinchgesturerecognizer *pinchrecognizer = [[uipinchgesturerecognizer alloc] initwithtarget:self action:@selector(pinchdetected:)]; [self.view addgesturerecognizer:pinchrecognizer]; // pan recognizer, used rotate around x , y axis uipangesturerecognizer *panrecognizer = [[uipangesturerecognizer alloc] initwithtarget:self action:@selector(pandetected:)]; [self.view addgesturerecognizer:panrecognizer]; /********* end touch implementation *********/ }
how can uiprogressview display viewdidload method called , end when viewdidload method finished?
when viewdidload called view not yet on screen. after viewdidload see viewwillappear viewdidappear being called.
and if have long running viewdidload block main thread, progress bar won't updated.
when :
[self performselectoronmainthread:@selector(updateprogressbar) withobject:nil waituntildone:no]; since on main thread specifying waituntildone queue request , process later, after viewdidload have finish.
to want do, need more asynchronous code.
Comments
Post a Comment