ios - How to attach a UIPopover to a CGRect created programmatically -


i have uipopover have created several uitextfields programmatically. if 1 of uitextfields tapped, want have uidatepicker inside uipopovercontroller point uitextfield caused tap. able tag, know cgrect caused tap; problem unable have arrow of uipopovercontroller point specific rectangle.

here code (inview: self.frame incorrect; it's 1 of things tried)

    if(textfield.tag == 1301  ) {  //  'starttime' text field      uiviewcontroller* popovercontent = [[uiviewcontroller alloc] init]; //viewcontroller     uiview *popoverview = [[uiview alloc] init];   //view     popoverview.backgroundcolor = [uicolor blackcolor];      uidatepicker *datepicker=[[uidatepicker alloc]init];//date picker     datepicker.frame=cgrectmake(0,44,180,186);  //  180,186     datepicker.datepickermode = uidatepickermodetime;     [datepicker setminuteinterval:15];     [datepicker settag:1310];     [datepicker addtarget:self action:@selector(result) forcontrolevents:uicontroleventvaluechanged];     [popoverview addsubview:datepicker];      popovercontent.view = popoverview;      innerpopovercontroller = [[uipopovercontroller alloc] initwithcontentviewcontroller:popovercontent];      [innerpopovercontroller setpopovercontentsize:cgsizemake(180,206) animated:no];     [innerpopovercontroller presentpopoverfromrect:cgrectmake(305, -190, 80, 35)  //  wrong!  todo                                        inview:self.frame                           permittedarrowdirections:uipopoverarrowdirectionup animated:yes];  } 

the cgrectmake has same parameters (x,y,w,h) uitextfield created with. error i'm getting is:

terminating app due uncaught exception 'nsinvalidargumentexception', reason: '-[uipopovercontroller presentpopoverfromrect:inview:permittedarrowdirections:animated:]: popovers cannot presented view not have window.'

is possible, having uipopover within uipopover?

it should this:

innerpopovercontroller = [[uipopovercontroller alloc] initwithcontentviewcontroller:popovercontent];  [innerpopovercontroller setpopovercontentsize:cgsizemake(180,206) animated:no]; [innerpopovercontroller presentpopoverfromrect:cgrectmake(305, -190, 80, 35)  //  wrong!  todo                                    inview: subviewdata.view                       permittedarrowdirections:uipopoverarrowdirectionup animated:yes]; 

if have tag of view this:

uiview *tappedview=[subviewdata.view viewwithtag:yourtag];  innerpopovercontroller = [[uipopovercontroller alloc] initwithcontentviewcontroller:popovercontent];  [innerpopovercontroller setpopovercontentsize:cgsizemake(180,206) animated:no]; [innerpopovercontroller presentpopoverfromrect:cgrectmake(305, -190, 80, 35)  //  wrong!  todo                                        inview: tappedview.superview                           permittedarrowdirections:uipopoverarrowdirectionup animated:yes]; 

Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -