【问题标题】:Coded UIStepper not displaying编码的 UIStepper 不显示
【发布时间】:2014-12-04 06:24:45
【问题描述】:

在没有找到答案后,我不得不再次向大家寻求帮助。我正在以编程方式创建UIStepper,但它不会显示。标签、按钮和开关都显示正常,所以我一定遗漏了与步进器相关的东西。

我在代码的其他地方声明并初始化UIView *vNSMutableArray *steppers,并声明UIStepper *st。创建步进器的代码是:

st = [[UIStepper alloc] init];
st.frame = CGRectMake(xnear, ypos, 0, 0);
[st addTarget:self action:@selector(stepper1:) forControlEvents:UIControlEventValueChanged];
[st setMinimumValue:0];
[st setMaximumValue:99];
[st setWraps:NO];
[st setContinuous:NO];
[v addSubview:st];
[steppers addObject:st];

在运行时xnear = 100ypos = 250,所以步进器在显示器内。正上方的标签和正下方的文本字段正在显示。关于UIStepper 状态的其他问题,宽度和高度都被忽略了,所以我对两者都使用了 0。这段代码有什么明显的问题吗?

【问题讨论】:

  • 请截图...
  • 这里需要检查的东西很少。首先,您确定xnearypos 返回正确的值吗? (可能, NSLogging 它们可能会向您显示价值)。其次,v(视图)是否首先添加到 self.view 中?因为,我用一些值而不是xnearypos 运行了你的代码。它对我有用。
  • 我没有对这些值进行 NSLogging,但已经通过调试器检查了它们。 xnearypos 正是他们需要的地方。并且v 已被正确实例化。今天早上再做一些工作,我对文本字段、按钮、标签、滑块或开关没有任何问题。但是当我尝试添加UIStepperUISegmentedControl 时,该对象没有出现在模拟器中。

标签: ios objective-c xcode6.1 uistepper


【解决方案1】:

您将 UIStepper 的高度和宽度设置为 0

st.frame = CGRectMake(xnear, ypos, 0, 0);

给出一些高度和宽度

st.frame = CGRectMake(xnear, ypos,200, 100);

【讨论】:

    【解决方案2】:

    坦率地说,答案很尴尬。为UIView 设置了自定义背景颜色,并且没有为控件设置颜色。我能够让步进器显示以下代码行:

    st.backgroundColor = [UIColor whiteColor];
    

    同样,UISegmentedControl *sc 在我添加时出现:

    sc.backgroundColor = [UIColor whiteColor];
    

    感谢您的帮助,很抱歉浪费您的时间!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多