質問

次のように

私は、カスタム右のビューを作成します:

// 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;

QUESTION ...しかし、どのように私はすべて無効にすることができます(または、より良い、特定の要素)セグメント化されたコントロールの?

以下は動作しません。

self.navigationItem.rightBarButtonItem.enabled = NO;

すべてのアイデアが高く評価...

おかげで、
マット

役に立ちましたか?

解決

UISegmentedControl.h

- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;
- (void)removeAllSegments;
- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;       //default is YES

  e.g. [segmentedControl setEnabled:NO forSegmentAtIndex:1];

助け

希望

他のヒント

[navItem.rightBarButtonItem setEnabled:NO];

そのような単純な:)

参考:ます。http://開発.apple.com /ライブラリ/ IOS /#のドキュメント/ UIKitの/参照/ UIBarItem_Class /リファレンス/のreference.htmlする 参照の のプロパティを有効にします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top