当我尝试以编程方式将 UISlider 添加到 UIView 时,如果宽度太高则不会出现
Posted
技术标签:
【中文标题】当我尝试以编程方式将 UISlider 添加到 UIView 时,如果宽度太高则不会出现【英文标题】:When I try programmatically adding a UISlider to UIView, it wont appear if the width is too high 【发布时间】:2012-02-13 17:16:49 【问题描述】:我正在尝试以编程方式将垂直 UISlider 添加到具有可变高度的 UIView。这就是我目前所拥有的
int fullSize = [myBottle.barBottem intValue] - [myBottle.barTop intValue];
CGRect frame = CGRectMake(200, 150,fullSize, 23);
slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = fullSize;
slider.continuous = YES;
slider.transform = CGAffineTransformMakeRotation(M_PI * -
0.5);;
[self.view addSubview:slider];
我的问题是,只要 fullSize > 320,滑块就不会出现。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:你可以试试这个 并制作滑块值方法
UISlider *loslider=[[UISlider alloc]initWithFrame:CGRectMake(60, 80, 200, 30)];
[loslider addTarget:self action:@selector(slider_Action:) forControlEvents:UIControlEventValueChanged];
[loslider setMaximumValue:100.0];
[loslider setMinimumValue:0.0];
[loslider setValue:0.0];
[self.view addSubview:loslider];
然后 -(void)slider:Action
【讨论】:
【参考方案2】:UIScrollView 的框架不应大于包含 UIView 的矩形。您应该更改 UIScrollView 的 contentSize,改为设置其高度/宽度。
UIScrollView * scrollview ... ;
scrollview.contentSize = CGSizeMake(newwidth,newheight);
【讨论】:
【参考方案3】:试试这个代码:
1.新建一个滑块
-(IBAction)mySlider
CGRect frame = CGRectMake(20, 25, 200.0, 10.0);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 50.0;
slider.continuous = YES;
slider.value = 25.0;
[self.view addSubview:slider];
2.对于滑块动作
-(void)sliderAction:(id)sender
float value = [sender floatValue];
NSLog(@"%@",value);
//-- Do further actions
【讨论】:
以上是关于当我尝试以编程方式将 UISlider 添加到 UIView 时,如果宽度太高则不会出现的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试以编程方式添加 UIView 时,UITableViewCell 高度不会自动调整(而是压扁我的 UIView)
使用 ConstraintSet 以编程方式将 Button 添加到 ConstrainLayout