2015-09-03 4 views
0

Я использую NSDate, и я получил дату для показа, и она меняет ее с использованием времени iphones. У меня теперь есть проблема с изменением даты позже или на следующий день при нажатии кнопки. Мне нужно, чтобы это было в приложениях для фитнеса, где у них есть две стрелки, и вы можете нажать на левую, чтобы перейти к предыдущей дате, а стрелка вправо - перейти на следующий день. Как мне это сделать? Heres код у меня есть на данный момент:Как мне изменить дату при нажатии кнопки?

override func didMoveToView(view: SKView) { 

    dateLabel.zPosition = 22 
    dateLabel.fontName = "Krungthep" 
    dateLabel.fontColor = UIColor.whiteColor() 
    dateLabel.fontSize = 17 
    dateLabel.text = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: NSDateFormatterStyle.FullStyle, timeStyle: NSDateFormatterStyle.NoStyle) 
    dateLabel.position = CGPointMake(self.size.width/2.0, self.size.height/1.1) 
    self.addChild(dateLabel) 

    } 

     override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) { 

    var touch: UITouch = touches.first as! UITouch 
    var location = touch.locationInNode(self) 
    var node = self.nodeAtPoint(location) 

      if node.name == "next" { 
      //next day 

       } 







    if node.name == "before" { 

     //previous day 
     let earlyDate = NSCalendar.currentCalendar().dateByAddingUnit(NSCalendarUnit.CalendarUnitDay,value: -1,toDate: 
      NSDate(),options: NSCalendarOptions.WrapComponents) 
     date.earlierDate(earlyDate!) 


    } 

ответ

1

Посмотрите на NSCalendar. В частности, выполните поиск в документах Xcode в разделе «Календарные вычисления».

Вы хотите получить текущий календарь, а затем создать объект NSDateComponents, установить его значение дня 1 или -1, а затем использовать метод dateByAddingComponents:toDate:options для добавления или вычитания дня с вашей даты.

+0

хорошо спасибо, я попробую. – coding22

+0

Можете ли вы взглянуть на мой обновленный код, когда я нажимаю кнопку, чтобы перейти к предыдущей дате, когда она не изменилась. – coding22

+0

Как бы код, который вы опубликовали, изменил вашу дату до даты, когда вы показываете? (Ответ, он не может.) Вы создаете новую дату, а затем вызываете date.earlierDate и игнорируете результаты. Ваш код практически ничего не делает. –

Смежные вопросы