uitoolbar в панели навигации. - PullRequest
0 голосов
/ 29 ноября 2011

это простая проблема, но я новичок в xcode dev.Я следовал руководству онлайн, чтобы иметь несколько кнопок на панели навигации.кнопка редактирования на панели навигации имеет метод IBAction, называемый "editButton".который имеет (id)sender в качестве параметра.получить отправителя и изменить текст с редактирования на готово, готово для редактирования?

"UIBarButtonitem *bbi = (UIBarButonItem *) sender;", похоже, не работает.Как получить кнопку на панели инструментов на панели навигации?

Спасибо.

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44.01)];

// create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];

// create a standard "add" button
UIBarButtonItem* bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:NULL];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

// create a spacer
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[buttons addObject:bi];
[bi release];

// create a standard "EDIT" button
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButton:)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

// stick the buttons in the toolbar
[tools setItems:buttons animated:NO];

[buttons release];

// and put the toolbar in the nav bar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];



-(IBAction)editButton:(id) sender{
UIBarButtonitem *bbi = (UIBarButonItem *) sender;

if (bbi title isequalsString:@"Done){
[bbi setTitle:@"Edit"];
}
}else{
[bbi setTitle:@"Done"];
}

}

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

UIBarButtonSystemItemEdit - это специальный элемент панели кнопок, который заботится о состоянии «Редактировать / Готово». Нет необходимости вручную изменять текст кнопки.

0 голосов
/ 29 ноября 2011

Проблема в том, что вы использовали UIBarButtonSystemItemEdit , а не стандартную uibarbutton. Попробуйте создать его с помощью:

bi = [UIBarButtonItem alloc] initWithTitle:@"Edit" style: UIBarButtonItemStyleBordered  target:self action:@selector(editButton:)];

Затем используйте оставшуюся часть кода как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...