在4.0里定义导航条按钮通常是生成普通按钮,再用它生成导航条专用按钮。
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setBackgroundImage:[UIImage imageNamed:@"button_main.png"] forState:UIControlStateNormal]; [button addTarget:self action:@selector(GotoSettings) forControlEvents:UIControlEventTouchUpInside]; button.frame = CGRectMake(x, y, x1, x2); UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:menu]; self.navigationItem.rightBarButtonItem = menuButton; [button release]; [menuButton release];
UISegmentedControl *SegmentedControl = [[UISegmentedControl alloc] initWithItems: [NSArray arrayWithObjects: @"开始", @"暂停", nil]]; [SegmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged]; SegmentedControl.frame = CGRectMake(0, 0, 80, 30); SegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; SegmentedControl.momentary = YES; SegmentedControl.tintColor = [UIColor colorWithHue:0.6 saturation:0.33 brightness:0.69 alpha:0]; //defaultTintColor = [segmentedControl.tintColor retain]; // keep track of this for later UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:SegmentedControl]; self.navigationItem.rightBarButtonItem = segmentBarItem;
- (void)segmentAction:(id)sender { //NSLog(@"segmentAction: selected segment = %d", [sender selectedSegmentIndex]); if ([sender selectedSegmentIndex] == 0) { //[self startAll]; }else if ([sender selectedSegmentIndex] == 1) { //[self stopAll]; } }
UIBarButtonItem *startBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(startDownloadAll)]; UIBarButtonItem *pauseBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPause target:self action:@selector(stopDownloadAll)]; [self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects: pauseBtn,startBtn,nil]];