Мне нужно добавить кнопку левой панели в моем приложении, которая выглядит как системная кнопка возврата, но не является системной кнопкой возврата, поскольку она появится на контроллере представления, который является единственным виртуальным каналом в моем стеке navController, и выполнит мой собственный код. Простое написание «Назад» для меня не очень хорошо, так как мне также нужно отображать стрелку «‹ ». Есть ли способ программно создать такую стрелку, не создавая изображения с помощью этой стрелки?
Стрелка назад на iOS 7
Ответы (4)
Подумайте об использовании фиктивного UIViewController
в качестве корневого контроллера представления для вашего стека UINavigationController
:
[[UINavigationController alloc] initWithRootViewController:[UIViewController new]];
[navController pushViewController:viewController animated:NO];
Затем вы можете использовать мое расширение BackButtonHandler для обработки действия кнопки «Назад» (как описано в эта ветка):
-(BOOL) navigationShouldPopOnBackButton {
[self dismissModalViewControllerAnimated:YES];
return NO;
}
Для этого можно использовать любой символ Юникода (где угодно в коде).
Здесь вы можете найти то, что хотите:
Xcode> Редактировать> Специальные символы ...
Найдите arrow
или back
или просмотрите категории.
Затем скопируйте и вставьте символ там, где это необходимо (в заголовке объекта XIB или в методах setTitle
или setText
, как любой другой символ)
что-то вроде:
〈 Back
выявляет тонкое несоответствие между 〈
и Back
. в любом случае ... я проверю что-нибудь хорошее
- person staticVoidMan; 30.12.2013
Попробуй это:
// After you create and place your backButton:
UILabel* arrowLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 10, 20, 20)];
arrowLabel.text = @"<";
arrowLabel.textColor = [backButton titleColorForState:UIControlStateNormal];
arrowLabel.transform = CGAffineTransformMakeScale(1,2);
[backButton addSubview:arrowLabel];
Если addSubview вызывает проблемы, попробуйте
[backButton insertSubview:arrowLabel atIndex:0];
Посмотрите перечисление UIBarButtonSystemItem
под contants в документации UIBarButtonItem:
Это все стили кнопок, предоставленные Apple:
typedef enum {
UIBarButtonSystemItemDone,
UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo, // iOS 3.0 and later
UIBarButtonSystemItemRedo, // iOS 3.0 and later
UIBarButtonSystemItemPageCurl, // iOS 4.0 and later
} UIBarButtonSystemItem;
Возможно, вам будет достаточно перемотки или отмены.