2013-08-23 34 views
0

我正在Xcode中使用iPhone應用程序,我想用4種不同的選擇使用分段控件。爲什麼我的分段控件沒有反應?

我想知道我做錯了什麼,爲什麼當我點擊它時,NSLog消息不顯示?

這是我的代碼:

.h文件中:

#import <Foundation/Foundation.h> 

@interface Format : UIViewController{ 

    IBOutlet UISegmentedControl *papper; 
} 

@property (nonatomic, retain) IBOutlet UISegmentedControl *papper; 

-(IBAction)papperskontrollSwitched:(id)sender; 

.m文件:

#import "Format.h" 

@implementation Format 

@synthesize papper; 

-(IBAction)papperskontrollSwitched:(id)sender{ 
    if(papper.selectedSegmentIndex==0){ 

     NSLog(@"A5 valdes"); 
    } 

    else if(papper.selectedSegmentIndex==1){ 

     NSLog(@"A4 valdes"); 
    } 

    else if(papper.selectedSegmentIndex==2){ 

     NSLog(@"A3 valdes"); 
    } 

    else if(papper.selectedSegmentIndex==3){ 

     NSLog(@"Visitkort valdes"); 
    } 
} 

@end 
+1

請檢查您鏈接的UISegmentedControl在IB到屬性和操作(控制拖動一行)。 –

+0

我查過,他們都鏈接。 –

+0

你爲什麼要爲這個分段控件定義一個實例變量和屬性?這可能導致事情不能適當反應。 – hgwhittle

回答

1

嘗試刪除的東西在括號:

{ 
    IBOutlet UISegmentedControl *papper; 
} 

當你有這個需求時不需要它:

@property (nonatomic, retain) IBOutlet UISegmentedControl *papper; 
+0

通過@Cornelia G嘗試了代碼,它對我來說工作正常..任何評論 –

+0

是的IBAction連接,並在側面有一個灰點。我也刪除了接口括號中的IBOutlets,但它仍然不起作用。 –

+0

@Cornelia G你可能錯過了「值改變」操作,只需刪除操作並重新鏈接即可。 –

0

有伊娃和@property不應該不管這裏的確,當我使用一個測試項目,它正在完美這個確切的代碼。

確保您UISegmentedControl連接在Interface Builder中papper出口和您已經連接UISegmentedControl「S‘值改爲’行動-(IBAction)papperskontrollSwitched:

enter image description here

相關問題