私はiOS開発に不慣れで、UISlider
. UISlider
ファイルへの.xib
接続にを追加し、.h
ファイルでアクション メソッドを確認でき.m
ますが、UISlider 属性でファイルの最小値と最大値を設定しようとすると.xib
、XCode がクラッシュします。- (IBAction)slider:(id)sender
ファイル内のメソッドに値を作成することと関係があると思い.m
ますが、私が試みるすべてが XCode をクラッシュさせるため、何か間違ったことをしています。
13343 次
4 に答える
7
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];
}
于 2012-10-12T10:58:14.117 に答える
2
このコードを試してください...
@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/
これがお役に立てば幸いです。
:)
于 2012-10-12T10:42:34.273 に答える
1
スライダーがアクションメソッドに接続されていることを確認してください..そして、ラベルにsliderLabelという名前のアウトレットがあると仮定します..値が変更されたときにスライダーが呼び出すアクションメソッドは、次のように実装できます。
- (IBAction)slider:(id)sender{
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)roundf(slider.value);
sliderLabel.text = [NSString stringWithFormat:@"%d", progressAsInt];
}
ここでは、値は整数値のみを表示するために四捨五入されています..サイダーは0-1のような非常に狭い範囲ではなく、より広い範囲で実装されていると想定しています..そして、ペン先にスライダーを実装したと述べました..最小最大値は、スライダーの属性インスペクターで設定できます..プログラムで行うと、わずかに異なります..
于 2012-10-12T10:54:59.587 に答える