Я реализовал UISegmentControl как rightBarButton моего detailViewController.Этот контроллер представления отображает информацию, передаваемую из UITableView.Ячейки этого UITableView заполнены значениями атрибута CoreData.
Что я хочу сделать, это позволить пользователю перемещаться вверх и вниз по списку с помощью detailViewController.Вместо того, чтобы заставлять пользователя возвращаться к rootViewController, он получит возможность прокручивать через UISegmentControl.
В настоящее время у меня это есть в моем detailViewController.m
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Setting up UISegmentedControl
// Segmented Control - Custom right bar button with a view
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
[NSArray arrayWithObjects:
[UIImage imageNamed:@"arrowdown.png"],
[UIImage imageNamed:@"arrowup.png"],
nil]];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(0, 0, 75, 30);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentBarItem;
[segmentBarItem release];
}
Это затем присоединяется к следующему методу для обнаружения постукивающего элемента управления.
- (void)segmentAction:(id)sender
{
UISegmentedControl* segCtl = sender;
// the segmented control was clicked, handle it here
if([segCtl selectedSegmentIndex]==0){
NSLog(@"You clicked the down arrow - the segment clicked was %d", [segCtl selectedSegmentIndex]);
}else {
NSLog(@"You clicked the up arrow - the segment clicked was %d", [segCtl selectedSegmentIndex]);
}
}
Мне также любопытно, знает ли кто-нибудь, как определить, нужно ли идти дальше или нет.Например, если загруженная заметка находится в первой позиции, стрелка вниз отключается, а если загруженная заметка находится в последней позиции, стрелка вверх отключается.Это вообще возможно?
Любая помощь будет принята с благодарностью.