創建自定義右視圖如下:禁用UINavigationItem自定義權限視圖?
// Build the Segmented Control
NSArray *segmentTextContent = [NSArray arrayWithObjects:[UIImage imageNamed:@"arrow-dice.png"], [UIImage imageNamed:@"arrow-up.png"], [UIImage imageNamed:@"arrow-down.png"], nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
// Customize the Segmented Control
segmentedControl.momentary = YES;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
然後我把它添加到我的導航欄,如下所示:
// Add the control to the navigation bar right item
UIBarButtonItem *segmentItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentItem;
self.navigationItem.rightBarButtonItem.title = @"";
[segmentItem release];
我可以將其隱藏,如下所示:
self.navigationItem.rightBarButtonItem.customView.hidden = NO;
問題 ...但我怎樣才能禁用分段控制的所有(或更好,一個特定的元素)?
以下不起作用。
self.navigationItem.rightBarButtonItem.enabled = NO;
讚賞任何想法...
感謝,
亞光
謝謝,我錯過了文檔中的內容。 有沒有一種更簡單的方法來禁用整個控制,而不是每個部分輪流做這個? – 2009-05-17 17:34:43
它是UIControl的一個子類,所以你應該能夠簡單地做segmentedControl.enabled = NO ;.在上面提供的代碼中,您可以在「rightBarButtonItem」之後和「.enabled」之前添加「.customView」。 – 2009-05-17 18:11:51