2012-11-19 20 views
1

這aciton被稱爲:UISlider滑動時aceess通過發送者和

-(IBAction) sliding:(id)sender{ 
    UISlider *temp = (UISlider *) sender; 
    int value = (int)temp.value; 
    val.text= [[NSString alloc]initWithFormat:@"%i",value ]; // val is the name oflabel 
} 

但是,當我這樣做:

-(IBAction) sliding:(id)sender{ 

     int value = (int)sender->value;// ERROR(no member named value) WHY ? 
     val.text= [[NSString alloc]initWithFormat:@"%i",value ]; // val is the name of label 
    } 

我怎樣才能得到滑塊的值,而無需創建UISlider實例類

+0

如果您的目標是將發件人保留爲通用'id',我不確定這是否有幫助,但是[發件人描述]可以格式化以顯示值 – John

回答

0

試試這個:

int value = (int)((UISlider *)sender->value); 
0

我使Slider變量成爲一個出口,並從.value獲得值,即myslider的getter。

接口

{ 
    UISlider *slide; 
    UILabel *val; 
    } 

@property(nonatomic,retain) IBOutlet UISlider *slide; 

實現:

-(IBAction) sliding:(id)sender{ 
    //UISlider *temp = (UISlider *) sender; 
    int value = (int)slide.value; 
    val.text= [[NSString alloc]initWithFormat:@"%i",value ];  
} 

但我還是很喜歡它知道如何通過發送方得到它???

1

您必須創建UISlider的IBOutlet,並從中獲得價值。

@property(nonatomic,weak) IBOutlet UISlider *slider; 
-(IBAction) sliding:(id)sender 
{ 
val.text= [[NSString alloc]initWithFormat:@"%i",self.slider.value];  
}