UISlider 添加标签

Posted

技术标签:

【中文标题】UISlider 添加标签【英文标题】:UISlider add label 【发布时间】:2016-05-31 10:24:39 【问题描述】:

我可以为滑块添加标签,但标签仅在您移动滑块时出现我需要 lebel 始终处于正确位置并且滑块的值

 - (IBAction)SinP:(id)sender 


    float increment = 1.0;
    if ([SinP isEqual:self.SinP])
    float newValue1 = SinP.value /increment;
    SinP.value = floor(newValue1) * increment;
    

   UIImageView *handleView1 = [SinP.subviews lastObject];
    UILabel *label = (UILabel*)[handleView1 viewWithTag:1010];
   if (label==nil) 
      label = [[UILabel alloc] initWithFrame:handleView1.bounds];
    label.tag = 1010;
    label.backgroundColor = [UIColor clearColor];
    label.textColor = [UIColor whiteColor];
     label.textAlignment = NSTextAlignmentCenter;
    [handleView1 addSubview:label];

   
   label.text = [NSString stringWithFormat:@"%0.0f", self.SinP.value];
   _L01.text = [NSString stringWithFormat:@"%0.0f", self.SinP.value];
   self.T01.text = [@((int)SinP.value) stringValue];



【问题讨论】:

【参考方案1】:

做一件事,当应用程序在安装后第一次运行时,您将该日期保存在 NSUserdefaults 中。通过使用该日期,您可以获得当前日期和保存日期(第一次日期)之间的天数,然后在节表视图数据源方法中返回行数中的天数。 //像在appdlegate中一样写代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

if(![[NSUserDefaults standardUserDefaults] objectForKey:@"installation_date"]) 
    [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"installation_date"];
    [[NSUserDefaults standardUserDefaults] synchronize];

return YES;


-(int)getNumberOfDays
     NSString *start = @"2010-09-01";
     NSString *end = @"2010-12-01";

    NSDateFormatter *f = [[NSDateFormatter alloc] init];
   [f setDateFormat:@"yyyy-MM-dd"];
   NSDate *startDate = [f dateFromString:start];
   NSDate *endDate = [f dateFromString:end];

   NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
   NSDateComponents *components = [gregorianCalendar components:NSCalendarUnitDay
                                                fromDate:startDate
                                                  toDate:endDate
                                                  options:NSCalendarWrapComponents];
 return [components day];

【讨论】:

是日期创建没有问题,问题是每天从数据创建一个单元格,例如日期安装 01/05/2016 和每个单元格到 31/05/2016 如何生成 31 个单元格标签日期 当应用程序首先打开时,您准备一个带有日期的数组(从第一天到最后一天),在索引路径的 cellfor 行中使用该数组,您可以为标签提供文本 将数组计数作为tableview的行数

以上是关于UISlider 添加标签的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮将4个滑块值一起添加?

UISlider 带标签怎么调用?

用标签调用 UISlider

根据 UISlider 值不断更新标签

使用 UISlider 更新标签中的字符串而不是 Int/Double 等

带有标签和 UISlider 的自定义 UITableViewCell 在 ios 7 的 6 次崩溃中运行良好。 ?? UITableViewCellScrollView?