을 채워되지 않습니다 나는 다음과 같은 코드를 가지고 : 나는 도구 모음을 표시하는보기를로드하지만, 경우도구 모음은 내보기 컨트롤러의 내에는 loadView의 methoad에서
이// Populate self.view and add some views/UI elements
// load Gender selection Bar
self.navigationController.toolbarHidden = NO;
self.navigationController.toolbar.tintColor = [UIColor colorWithRed:0 green:0.37 blue:0.5 alpha:1];
self.genderControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Male", nil), NSLocalizedString(@"Female", nil), nil]];
genderControl.segmentedControlStyle = UISegmentedControlStyleBar;
genderControl.frame = CGRectMake(0, 0, 200, 30);
genderControl.tintColor = [UIColor colorWithRed:0 green:0.37 blue:0.5 alpha:1];
[genderControl addTarget:self action:@selector(changeGender:) forControlEvents:UIControlEventValueChanged];
genderControl.selectedSegmentIndex = GENDER_MALE;
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:genderControl];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[[[self navigationController] toolbar] setItems:[NSArray arrayWithObjects:flexSpace, item, flexSpace, nil] animated:YES];
[item release];
은 그러나, 세그먼트 컨트롤이 표시되지 않습니다를. viewWillAppear : 내 코드를 움직이면 작동하지만 한 번 내보기를 숨기고 다시 다시 표시하면 분할 된 컨트롤이 다시 사라집니다.
아무도이 문제를 알고 있거나 해결 방법을 알고 있습니까? 아주 이상하게 보입니다.
하나의 작은 급히 : 'self.genderControl = [[UISegmentedControl alloc] initWithItems : [NSArray arrayWithObjects : NSLocal] 행에 메모리 누수가있을 수 있습니다. genderControl 속성이 copy 또는 retain으로 설정되어있는 경우 autorelease를 모두 끝에 추가하려는 경우 izedString (@ "Male", nil), NSLocalizedString (@ "Female", nil) 그렇지 않으면 보유 수를 단 하나가 아닌 2만큼 증가시킵니다. –
genderControl에는 보유 속성이 있지만 dealloc 메소드에서 해제되었습니다. 따라서 보유 수는 다시 양호합니다. 그래도 고마워! – Robin
하지만 Simon 라인은 genderControl (self = 1은 1, alloc은 1)에 대해 2의 보유 수를 갖는 엔드 업을 가리키고 있습니다. dealloc은 0이 아닌 1로 줄입니다. 따라서 메모리 누수가 발생합니다! 사이먼은 내가 알 수있는 한 정확하다. – occulus