2013-07-27 2 views
0

시간을 표시하는 UIButton이 있고이 시간은 UIButton의 titleLabel 속성에 표시됩니다. 이 시간을 변경하려면 날짜 선택 도구를 가져 오는이 메서드를 호출하는 단추를 클릭하면됩니다.동일한 메서드를 호출하는 두 UIButtons 다른 결과가

- (IBAction)slidePickerIn:(id)sender { 
    // Ok button to dismiss picker 
    [self.view bringSubviewToFront:self.datePickerOK]; 
    // Bring picker to front 
    [self.view bringSubviewToFront:self.datePicker]; 
    // animate entrance of picker and fade in of dismiss button 
    [UIView animateWithDuration:.5 animations:^{ 
     [self.datePicker setFrame:pickerIn]; 
     self.datePickerOK.alpha = 1; 
    }]; 
} 

해제 버튼을 클릭하면이 메서드가 호출됩니다. 날짜 선택 도구와 해제 단추를 제거하고 시간을 표시하는 단추의 제목을 업데이트합니다.

- (IBAction)slideDatePickerOut { 
    [UIView animateWithDuration:.5 animations:^{ 
     self.datePickerOK.alpha = 0; 
     [self.datePicker setFrame:pickerOut]; 
    }]; 

    // Set time correctly 
    NSDate *wake = self.datePicker.date; 
    NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    [df setDateFormat:@"hh:mm a"]; 
    self.wakeUpTime.titleLabel.text = [NSString stringWithFormat:@"%@", [df stringFromDate:wake]]; 
    self.wakeUpTime.date = wake; 
} 

도 slidePickerIn를 호출하고 당신이 시간을 변경할 수 있습니다 화면에 다른 버튼이있다.

문제 :이 다른 버튼을 클릭하여 표시된 날짜를 변경하면 모든 것이 정상적으로 작동합니다. 그러나 버튼 자체를 클릭하면 시간을 나타내는 제목이 표시되고 날짜 선택기가 표시되는 동안 날짜는 00:00 AM (기본값)으로 바뀝니다. 날짜 선택 도구가 닫히면 시간이 올바르게 업데이트됩니다. 그러나 내가 말했듯이, 다른 버튼을 사용하여 선택기가 표시되는 동안 시간의 값은 변경되지 않습니다. 왜 이것이 될 수 있는지 나는 정말로 확신 할 수 없다. 어떤 도움이라도 대단히 감사 할 것입니다. 당신의 slidePickerIn에서

+0

사소한 세부 정보 - 날짜 포맷터를 만들고 포맷하는 데 거의 0.5 초가 걸립니다. 당신은 그것을 고정시키고 오직 한 번만해야합니다. – HalR

+1

이것은 중단 점을 설정하기에 완벽한시기입니다. - [UILabel setText :]에 기호식 중단 점을 추가하고 문제를 일으키는 버튼을 누르기 직전에이를 활성화하십시오. 뭔가 잘못된 값을 가진 setText : 메시지를 보내고 있습니다. 디버거에서 코드가 깨지면 변경을 초래하는 코드를 추적 할 수 있습니다. –

+0

@HalR 매번 속성을 만들 필요가 없으므로 속성에 포맷터를 유지해야한다는 의미입니까? – schlow

답변

0

추가 :

if(self.datePicker.alpha == 0) 
{ 
    //Add all the methods 
} 

당신의 slidePickerOut에 추가 :

if(self.datePicker.alpha == 1) 
{ 
    //Add all the methods 
} 

이제 UIButtons은 정확한 시간에 호출됩니다.

0

버튼에 두 가지 방법을 할당하지 않았는지 확인하십시오.

관련 문제