如何创建一个iOS的UISlider显示,在范围为1〜10显示一个值一个UILabel?

我是新来的iOS开发和有困难的时间与UISlider 。 我添加了一个UISlider.xib连接到.h文件,可以看到在操作方法.m文件,但是当我尝试设置最小和最大值在.xib在UISlider文件属性的XCode崩溃。 我认为这是与在创造价值- (IBAction)slider:(id)sender在方法.m文件,但我做错了什么,因为一切我尝试的原因的XCode崩溃。

--------------解决方案-------------

CGRect frame = CGRectMake(0.0, 0.0, 200.0, 10.0);

// sliderAction will respond to the updated slider value
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];

//设置最小和滑块的最大值

slider.minimumValue = 0.0;
slider.maximumValue = 10.0;
slider.continuous = YES;

// Initial value
slider.value = 25.0;

//添加滑块来查看

[self.view addSubview:slider];

- (IBAction)sliderAction:(id)sender{
UISlider *MYslider = (UISlider *)sender;
int SliderValue = (int)roundf(MYslider.value);
uilable *sliderLabel.text = [NSString stringWithFormat:@"%d", SliderValue];
}

试试这个代码...

@interface SliderDemoViewController : UIViewController {

UILabel *sliderLabel;
}

@end

把下面的代码在“SliderDemoViewController.m”文件。

@implementation SliderDemoViewController

@synthesize sliderLabel;

- (void)dealloc {
[sliderLabel release];
[super dealloc];

}

-(IBAction) sliderChanged:(id) sender{

UISlider *slider = (UISlider *) sender;

int progressAsInt =(int)(slider.value + 0.5f);

NSString *newText =[[NSString alloc]
initWithFormat:@"%d",progressAsInt];

self.sliderLabel.text = newText;
[newText release];
}

@end

同时也看到UISlider更多相关资料从这个波纹管链接..

http://www.xprogress.com/post-35-uislider-tutorial-example-how-to-use-slider-in-iphone-sdk-xcode/

我希望这帮助你..

:)

确保您的滑块连接到动作method..and假设标签具有name sliderLabel..the操作方法的出口滑块来调用,因为它的值改为可以实现为:

- (IBAction)slider:(id)sender{
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)roundf(slider.value);
sliderLabel.text = [NSString stringWithFormat:@"%d", progressAsInt];
}

这里的值四舍五入显示only..I我假设正在实施的心不是代尔为一个很小的范围像0-1,但一个更大的range..and你提到你在nib..minimum实现滑块整数值和最大值可以在属性检查器中为你做它编程的slider..if进行设置,它会略有不同..

分类:iphone 时间:2015-03-15 人气:4
本文关键词: iphone,IOS,uislider
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 4.819 (s). 10 q(s)