2010-01-29 113 views
0

好的。在Xcode中,我希望我的應用程序在UISlider達到1.00或滑塊末尾時運行一行代碼。我將如何做到這一點?UISlider iPhone SDK問題

+0

你是否想要顯示進度並在最後觸發某些內容? – 2010-01-29 23:06:14

回答

0

編寫一個IBAction方法,並將其連接到Interface Builder中的UISlider,在出現的對話框中選擇「On Changed Value」。然後,像這樣的添加一些代碼的方法:

if(mySlider.value == 1.0f){ 
    //Insert your code here 
} 

- 詹姆斯

+0

當我將這段代碼作爲IBAction的動作時,它說mySlider是未聲明的。我該如何解決? (對不起,我是編碼新手) – 2010-01-29 23:00:40

+0

您需要在.h文件中創建UISlider實例,將其聲明爲屬性,並將其合成到.m文件中。 mySlider只是我選擇的任意名稱,可以是任何東西。完成上述操作後,您需要將您在界面構建器中添加的uislider鏈接到您在.h文件中創建的uislider實例。那麼這應該工作。谷歌UISlider教程,並看看你是否可以在那裏找到一些好的代碼示例。 – James 2010-01-29 23:16:53

+0

你打算接受答案嗎? – James 2011-08-27 00:45:13

1

這些添加到您的UIViewController。

在你.H,界面如下:

-(IBAction)sliderChangedValue:(id) sender; 

在您的m:

-(IBAction)sliderChangedValue:(id) sender { 
    if([sender isKindOfClass:[UISlider class]]) { 
     UISlider *slider = (UISlider *)sender; 
     if(slider.value == 0.0 || slider.value == 1.0) { 
      //your line of code 
     } 
    } 
} 

然後在界面生成器連接的價值改變了你的UISlider的這種方法。

+0

你能幫我一個忙嗎,上傳源代碼到megaupload什麼的?每當我這樣做時,我會得到5-6個錯誤。 – 2010-01-31 00:49:43

+0

問題是,有些必須在Interface Builder中完成,並且您不會看到它比我在此處所描述的更好。要在IB中建立連接,請打開檢查器,選擇第三個選項卡,然後從Value Changed圓圈拖到主窗口中的File's Owner項目。放開,彈出窗口會出現。從彈出窗口中選擇sliderChangedValue。它只會在將此代碼複製到UIViewController並保存.h文件後出現。 – 2010-01-31 01:14:13