可以在iPhone中爲UISlider
控件設置最小值&最小值。因此,滑塊將工作 - 好 - 好。滑動菜單 - iPhone滑動時獲取UISlider指針的x座標
首先,我將舉一個我想要實現的例子。
- 在iPad中默認使用Calendar應用程序。
- 打開日曆,在底部 - 您可以看到日/周/月清單
- 當您滑動手指時,滑動時會看到一個彈出式菜單。
- 我想在滑塊上實現相同的功能。
我在努力,但是如果我能夠得到x座標,我可以很容易地實現它。任何其他建議都是最受歡迎的。
可以在iPhone中爲UISlider
控件設置最小值&最小值。因此,滑塊將工作 - 好 - 好。滑動菜單 - iPhone滑動時獲取UISlider指針的x座標
首先,我將舉一個我想要實現的例子。
我在努力,但是如果我能夠得到x座標,我可以很容易地實現它。任何其他建議都是最受歡迎的。
從UILabel開始進行測試(只需在其中寫入內容)並添加IBOulets以及UISlider。接下來,爲滑塊的「值已更改」添加一個IBAction。
然後,您需要計算兩個值來確定應放置標籤的位置 - 左側調整和滑塊每個值的像素。您的@interface
可能如下所示:
@interface sliderViewController : UIViewController {
IBOutlet UISlider *slider;
IBOutlet UILabel *label;
float pixelsPerValue;
float leftAdjust;
}
-(IBAction) sliderValueChanged:(id)sender;
@end
例如, viewDidLoad:對於你的視圖控制器,你可以計算兩個浮點數。
- (void)viewDidLoad {
float width = slider.frame.size.width;
pixelsPerValue = width/(slider.maximumValue - slider.minimumValue);
leftAdjust = slider.frame.origin.x;
[super viewDidLoad];
}
最後,您IBAction爲可能是這樣的:
-(IBAction) sliderValueChanged:(id)sender
{
NSLog(@"changed");
CGRect frame = label.frame;
frame.origin.x = leftAdjust + (pixelsPerValue * slider.value);
label.frame = frame;
}
希望有所幫助。
我不認爲這個東西是用UISlider來實現的,但是你可以很容易地使用touch的x座標。
在UISlider的操作中,您可以接受第二個參數。
-(void)action:(UISlider*)sender forEvent:(UIEvent*)event
// ^^^^^^^^^^^^^^^^^^^^^^^^
從UIEvent,你可以得到一個包含它的x,y座標的UITouch。