【问题标题】:Custom Date Picker自定义日期选择器
【发布时间】:2012-09-26 09:45:27
【问题描述】:

创建只有两个轮子的 UIPicker 的最佳方法是:日期和时间,如下所示:

Fri 5 June  |   15:30
Sat 6 June  |   15:35  < Selected
Sun 7 June  |   15:40

日期将前后 7 天,时间还包括“现在”。

【问题讨论】:

    标签: iphone objective-c ios uipickerview uidatepicker


    【解决方案1】:

    首先创建一个 UIPickerview 和 Pickerview 的委托将是这样的 -

    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
     {
    return 2;
     }
    
    
    
    
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:   
      (NSInteger)component
       {
         if (component == 0)
         {
           return [arr_Date count];
          }
        else
        {
        return [arr_Time count];
         }
      }
    
    
    
    
    
      - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row    
         forComponent:(NSInteger)component
          {
           if (component == 0)
             {
              return [arr_date objectAtIndex:row];
             }
    
         else
           {
           return [arr_Time objectAtIndex:row];
          }
        }
    

    日期在您的 arr_date 中包含 7 个日期。

    【讨论】:

      【解决方案2】:

      你可以通过使用 UIPickerViewDelegate 方法来做到这一点:

      - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
      

      还可以通过this tutorial 了解如何实现多组件 UIPicker .. 希望对您有所帮助

      【讨论】:

        【解决方案3】:

        API 不提供执行此操作的方法。您可以使用 UIPickerView 而不是使用 UIDatePicker 自己制作一个非常令人信服的副本。

        由于 UIDatePicker 或 UIPickerView 没有 UI_APPEARANCE_SELECTOR,即使您无法将 UIDatePicker 内容的外观更改为其 UIControl 并且没有任何委托,因此它具有其本机外观,而在 UIPickerView 的情况下,您可以更改其内容'外观类似于 UITableView。

        查看此链接与您的情况相同 Custom iOS UIDatepicker using UIAppearance

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-30
          • 2012-05-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-20
          相关资源
          最近更新 更多