2009-10-02 46 views
7

im mới để lập trình iphone vì vậy nếu bạn có thể giúp tôi ra tôi sẽ đánh giá cao nó-tôi đã được trên tất cả các trang web và không thể tìm thấy câu trả lời cho điều này.iPhone: thêm điều khiển phân đoạn vào thanh công cụ thay vì các nút trong bộ điều khiển điều hướng?

thiết lập hiện tại của tôi là như

điều khiển chuyển hướng này trong MainWindow.xib> Xem trong điều khiển chuyển hướng trong MainWindow.xib gọi RootViewController.xib> RootViewController.xib chứa một tableview duy nhất.

tôi sau đó có thể tải trong một thanh công cụ sử dụng đoạn mã sau vào RootViewController.m

UIBarButtonItem *buttonOne = [[UIBarButtonItem alloc] initWithTitle:@"One" 
    style:UIBarButtonItemStyleBordered target:self action:@selector(buttonOnePushed)]; 
UIBarButtonItem *buttonTwo = [[UIBarButtonItem alloc] initWithTitle:@"Two" 
    style:UIBarButtonItemStyleBordered target:self action:@selector(buttonTwoPushed)]; 

NSArray *barArray = [NSArray arrayWithObjects: buttonOne, buttonTwo, nil]; 
[buttonOne release]; 
[buttonTwo release]; 

[self setToolbarItems:barArray animated:YES]; 

[self.navigationController setToolbarHidden:NO animated:YES]; 

mã này làm việc cho các nút. nhưng tôi không thể cho cuộc sống của tôi tìm hiểu làm thế nào để thêm một điều khiển phân đoạn thay vì các nút. tôi đã thử một mảng với hai điều khiển phân đoạn trong nó, nhưng sau đó không thể thêm mảng vào thanh công cụ.

nếu có ai đó có thể cho tôi biết một số mã sẽ thêm các điều khiển được phân đoạn theo cùng một kiểu như tôi đã sử dụng để thêm các nút, tôi sẽ đánh giá cao nó.

cảm ơn, dave.

Trả lời

20

Giải pháp cho điều này là (1) tạo UISegmentedControl với tất cả các nút, v.v ... (2) tạo UIBarButtonItem bằng trình khởi tạo initWithCustomView:(UIView *)view và cung cấp điều khiển phân đoạn làm biến này. Sau đó, thêm mục Nút Bar vào Thanh công cụ bằng cách sử dụng một mảng giống như bạn đã làm trong mã ví dụ của mình.

Đảm bảo bạn đặt mục tiêu và hành động cho bộ điều khiển được phân đoạn và tôi khuyên bạn nên đặt kiểu của nó thành UISegmentedControlStyleBar. Nó sẽ trông giống như ứng dụng ở cuối ứng dụng Maps. Hy vọng đây là những gì bạn đang tìm kiếm.

+0

làm cách nào để tôi chọn phân khúc nào được chọn trong phân đoạnCông cụ chọn bộ chọn? – Neelesh

+0

kiểm tra tài sản đã chọnChỉ số tài sản của mình –

11

Đây là mã của tôi để thêm điều khiển phân đoạn vào thanh công cụ của bộ điều khiển điều hướng. :

NSArray *segItemsArray = [NSArray arrayWithObjects: @"Settings", @"Templates", @"Notes", nil]; 
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segItemsArray]; 
segmentedControl.frame = CGRectMake(0, 0, 200, 30); 
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentedControl.selectedSegmentIndex = 2; 
UIBarButtonItem *segmentedControlButtonItem = [[UIBarButtonItem alloc] initWithCustomView:(UIView *)segmentedControl]; 
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
NSArray *barArray = [NSArray arrayWithObjects: flexibleSpace, segmentedControlButtonItem, flexibleSpace, nil]; 

[self setToolbarItems:barArray]; 
+0

cảm ơn vì điều đó, đã làm việc như một sự quyến rũ –

Các vấn đề liên quan