ios - 当slider位置移动之后,拖动slider的手柄,slider会回到初始的位置?

 安小辰 发布于 2022-10-30 18:15

iOS,使用ib在界面上做了一个label和一个slider,然后代码写了一个button,slider的值显示在label上,button让slider向下移动。当slider移动之后,拖动slider的手柄,slider会回到初始的位置?why?

#import "ViewController.h"

@interface ViewController ()
//@property (nonatomic, retain) UISlider *slider;
@property (nonatomic, retain) UIButton *button;

@property (weak, nonatomic) IBOutlet UILabel *label; 
@property (weak, nonatomic) IBOutlet UISlider *slider;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //设置一个button来移动slider
    _button = [[UIButton alloc] initWithFrame:CGRectMake(20, 500, 40, 40)];
    _button.backgroundColor = [UIColor blackColor];
    
    [self.view addSubview:_button];
    
    [_button addTarget:self action:@selector(checkButton) forControlEvents:UIControlEventTouchUpInside];
}

-(void)checkButton
{
    CGRect rect = _slider.frame;
    
    rect.origin.y += 20;
    
    _slider.frame = rect;
}

- (IBAction)changValue:(id)sender {
    _label.text = \[NSString stringWithFormat:@"%f",_slider.value\];
}
- (void)didReceiveMemoryWarning {
    \[super didReceiveMemoryWarning\];
    // Dispose of any resources that can be recreated.
}

@end
1 个回答
  • 先不说问题,你这问题这么久没人回答的原因只有一个,看着太累了,麻烦规范下代码啊。。。下面解决问题。你的界面使用IB拖得约束吧,单纯的更改frame 是不行的,你要更新约束才行

    2022-10-31 21:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有