我一直在主要的程序設計方法中創建我的應用程序,並試圖將UISegmentedControl添加到UINavigationControl工具欄。我已經創建並顯示了視圖,以及何時選擇了UISegmentedControl的操作。問題是我在任何時候調用selectedSegmentIndex,它返回一個空值。任何想法爲什麼?UISegmentedControl空指數
NSArray *segmentArray = [[NSArray alloc] initWithObjects:@"Factory Laods", @"User Loads", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems: segmentArray];
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
[segmentedControl addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *segmentedButton = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
NSArray *array = [[NSArray alloc] initWithObjects:flexibleSpace, segmentedButton, flexibleSpace, nil];
[self setToolbarItems:array];
--------動作方法------------
- (void) action:(id)sender {
UISegmentedControl *segment = (UISegmentedControl *) sender;
NSLog(@"Button %@", [segment selectedSegmentIndex]);
}
的flexibleSpace對象是一個的UIBarButtonItem初始化爲只是一個靈活的空間來集中UISegmentedControl。添加這個項目後,我可以添加一條NSLog語句併爲selectedSegmentIndex標識一個空值,並且在操作方法中觸發並檢查該事件時它也爲空。謝謝!
你是如何實施行動方法的? – 2011-06-15 22:09:06