2012-08-10 68 views
1

我在我的項目中設置了分段控件。我想在我的設置場景中使用它來控制方向是橫向還是橫向。我有我的故事板設立,這裏是我的代碼在我SettingsViewController.h如何更改UISegmentedControl中的值?

#import <UIKit/UIKit.h> 

@interface SettingsViewController : UIViewController 
{ 
    IBOutlet UISegmentedControl *orientation; 
} 

@property (nonatomic, retain) UISegmentedControl *orientation; 

- (IBAction) setOrientation; 

@end 

,這裏是我的SettingsViewController.m代碼

#import "SettingsViewController.h" 

@implementation SettingsViewController 

@synthesize orientation; 


- (IBAction)setOrientation 
{ 
    NSLog(@"index = %d\n", orientation.selectedSegmentIndex); 
    if (orientation.selectedSegmentIndex == 0) { 
     NSLog(@"left\n"); 
    } 
    if (orientation.selectedSegmentIndex == 1) { 
     NSLog(@"right\n"); 
    } 

} 



- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
} 

@end 

我想知道爲什麼值不當我選擇控件的右側時,從0改變爲1。此外,我想知道是否在我的.h我需要申報IBOutlet,因爲我不使用分段控制作爲出路。我只是用它來選擇哪一邊,然後用它來設置應用程序的方向。

回答

0

試試這個。使用valueChanged將其連接到Storyboard中的segmentedControl。

- (IBAction)segmentedControlChanged:(id)sender { 
    UISegmentedControl *segmentedC = (UISegmentedControl *)sender; 

    if (segmentedC.selectedSegmentIndex == 0) { 
//  NSLog(@"selectedSegmentIndex == 0"); 
     [self selectFirstSegment]; 
    } 
} 
+1

謝謝!它的工作:)(我會給它一個投票,但我沒有足夠的代表這樣做:/) – sbru 2012-08-10 20:08:46

0
在設定的bool方向型方法的.m文件末尾方向在橫向或potriat..and段動作

所有.m文件設置

return yes; 

相關問題