ios - UISlider 栏以编程方式使用自动布局消失

标签 ios objective-c autolayout

我以编程方式创建了一个 UISlider,在添加两个自动布局约束后, slider 条不再出现。我看到了 slider 的小块/圆圈,但没有其他东西。

// create slider programmatically

    _sliderFrame = CGRectMake(10.0f, 10.0f, 250.0f, 400.0f);

    _sliderCalibrate = [[UISlider alloc] initWithFrame:_sliderFrame];

    _sliderCalibrate.minimumValue = 1.0f;

    _sliderCalibrate.maximumValue = 100.0f;

    _sliderCalibrate.value = 50.0f;

    // manually specify Auto Layout constraints in code
    [_sliderCalibrate setTranslatesAutoresizingMaskIntoConstraints:NO];

    // add slider to view
    [self.view addSubview:_sliderCalibrate];


NSLayoutConstraint *centerSliderX = [NSLayoutConstraint constraintWithItem:_sliderCalibrate
                                                               attribute:NSLayoutAttributeCenterX
                                                               relatedBy:NSLayoutRelationEqual toItem:_sliderCalibrate.superview
                                                               attribute:NSLayoutAttributeCenterX
                                                              multiplier:1.0
                                                                constant:0.0];

    NSLayoutConstraint *centerSliderY = [NSLayoutConstraint constraintWithItem:_sliderCalibrate
                                                               attribute:NSLayoutAttributeCenterY
                                                               relatedBy:NSLayoutRelationEqual toItem:_sliderCalibrate.superview
                                                               attribute:NSLayoutAttributeCenterY
                                                              multiplier:1.0
                                                                constant:0.0];
    [_sliderCalibrate.superview addConstraints:@[centerSliderX, centerSliderY]];

最佳答案

使用自动布局时不应该设置任何框架,所以只需使用 [UISlider new] 创建 slider ;添加宽度约束,或删除 centerX 约束,并向 super View 的两个边缘添加约束,为 slider 提供非零宽度。

关于ios - UISlider 栏以编程方式使用自动布局消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997818/

相关文章:

ios - 在 UIPanGestureRecognizer 更改状态中更改 UIView 的 alpha

objective-c - 如何在 UITableView 页脚上设置富文本属性?

ios - 解析试用期和数据存储限制

ios - "Magic Move"效果自定义转场

ios - UITextView 的 UIGestureRecognizer 阻止键盘在点击时出现

ios - 测试目标是否需要在 iOS 中进行生产

iOS 开发人员和分发证书在测试飞行中的应用程序过期

objective-c - 在子类中使用 IBOutlet (Cocoa OSX)

ios - 无法以编程方式移动 UITextView

ios - 如何正确设置水平 ImageView 的自动布局约束?