wie die Freigabe uiview Hinzugefügt, wie die Untersicht in scrollview?
ich habe ein UIViewController Ansicht und eine Schaltfläche, um scrollview als Untersicht...nun wie kann ich lassen Sie alle Instanz von UIViewController ist...hier ist ein Bild
in der Ansicht jedes uiview hat eine Schaltfläche, über die Sie für die weitere navigation....
nun möchte ich zu release uiview ist, und entfernen Sie Schaltflächen aus der scrollview ...hier ist meine Methode zum hinzufügen von Untersichten
-(void)AddOneButton:(NSInteger)myButtonTag {
lastButtonNumber = lastButtonNumber + 1;
if ((lastButtonNumber == 1) || ((lastButtonNumber%2) == 1)) {
btnLeft = 8;}
else if ((lastButtonNumber == 2) || ((lastButtonNumber%2) == 0)) {
btnLeft = 162;
}
CGRect frame1 = CGRectMake(btnLeft, btnTop, 150, 150);
CGRect frame2 = CGRectMake(btnLeft, btnTop, 150, 150);
UIButton *Button = [UIButton buttonWithType:UIButtonTypeCustom];
Button.frame = frame1;
Button.tag = myButtonTag;
[Button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
[Button setBackgroundColor:[UIColor clearColor]];
[Button setBackgroundImage:[UIImage imageNamed:@"WaitScreen.png"] forState:UIControlStateHighlighted];
[Button setBackgroundImage:[UIImage imageNamed:@"WaitScreen.png"] forState:UIControlStateSelected];
if(categoryType==1)
{
MultiChoiceThumbViewControllerobj = [[MultiChoiceThumbViewController alloc] initWithPageNumber:myButtonTag+1];
MultiChoiceThumbViewControllerobj.view.frame=frame2;
MultiChoiceThumbViewControllerobj.lblCounter.text=[NSString stringWithFormat:@"%d of %d",myButtonTag+1,flashCardsId.count];
MultiChoiceThumbViewControllerobj.lblQuestion.text=[flashCardText objectAtIndex:myButtonTag];
[myScrollView addSubview:MultiChoiceThumbViewControllerobj.view];
}
[myScrollView addSubview:Button];
}
mit diesem code Untersichten Anzahl der scrollview ist=96.
ich benutzte diese Methode dealloc zu entfernen, Untersichten, aber es ist nicht frei UIvicontroller ist
for(UIView *subview in [myScrollView subviews])
{
[subview removeFromSuperview];
NSLog(@"Subviews Count=%d",myScrollView.subviews.count);
}
wie kann ich loslassen uiviewcontroller s?????
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie erstellt Ihre
UIViewController
s Sie nie veröffentlicht Ihr eigenes Eigentum, so lange, bis Sie veröffentlichen es selbst, wird es nie Weggehen. Das problem ist, dass nichts anderes besitzt dieUIViewController
s, so, wenn Sie verwendet werdenautorelease
würde, wäre Sie freigegeben ist, sofort.Meine Lösung wäre z.B. ein
NSMutableArray
und fügen Sie Sie zum array vor dem Aufruf von release auf Sie. Dann, wenn Sie freigeben wollen, alle IhreUIViewController
s, entfernen Sie Sie aus dem array.NSMutableArray
behält sich das Eigentum der Objekte, die Sie hinzufügen zu und entlässt das Eigentum zum Zeitpunkt der Entnahme oder Freigabe. So etwas wie dieses: