Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
alexsda
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 5
#1

Имитация выбора кнопки на UIToolBar - Программирование iOS

06.08.2012, 09:07. Просмотров 1229. Ответов 7
Метки нет (Все метки)

Доброго времени суток!
Недавно начал изучать Objective-C и xCode. К моей некомпетентности прошу отнестись снисходительно.

Подскажите, пожалуйста, как можно реализовать следующе:
В IB создан UIToolBar, на него положено много UIBarButtonItem (по числу букв в алфавите), на title кнопок соответсвенно названия букв алфавита.
Необходимо
2. "снять" с нажатой кнопки название буквы алфавита для последующей обработки.
2. при нажатии на UIBarButtonItem сделать Style - Done, а раннее нажатой кнопки Bordered.

Пытаюсь реализовать:

1. Название буквы алфавита с нажатой кнопки считываю через
Objective-C
1
pressBarButton.title
2.
.h файл
Objective-C
1
2
3
4
5
6
7
8
9
10
#import <UIKit/UIKit.h>
 
@interface ViewController : UIViewController {
    IBOutlet UIToolbar *ToolbarKey;
    UIBarButtonItem   *pressBarButton;
}
 
- (IBAction)controlPresButton:(id)sender; 
 
@end

.m файл
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
    
- (IBAction)controlPresButton:(id)sender {
 
pressBarButton = sender; 
 
    if (pressBarButton.style==1) {
        pressBarButton.style=2;
    } else {
            pressBarButton.style=1;
    }
}
 
@end
Для нажатой кнопки все получается, а вот для ранее нажатой не знаю как сделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2012, 09:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Имитация выбора кнопки на UIToolBar (Программирование iOS):

Программная имитация выбора поля listbox - MS Access
Здравствуйте! подскажите пожалуйста, возможно ли кодом выбрать поле с заранее определённым номером? в моём случает я имею listbox, в нём...

Имитация нажатия кнопки - C++
как программно сымитировать нажатие кнопки в программе нужно нажать кнопку PgUp а на клавиатуре ее нет как это можно сделать

Имитация нажатия кнопки - 1С
Всем добрый день! Такой вопрос - есть на форме документа ЗакрытиеЗаказовПокупателей кнопка, по нажатию которой открывается новая форма...

.NET 4.x Имитация залипания кнопки - C# WPF
Хочу сделать эффект чек бокса но без самого чек бокса (шутники или &quot;профи&quot; с вариантами, - &quot;юзай чек бокс&quot;, !проходим мимо!). Сама идея в...

Имитация нажатия кнопки - C++ Builder
Подскажите пожалуйста как можно программно нажать кнопку. То есть например при открытии удаленного рабочего стола должно пойти подключение...

Имитация нажатия кнопки - C#
Здравствуйте, уважаемые форумчане! Недавно для личных нужд начал изучать C#. Возник такой вопрос: Допустим есть метод...

7
alexsda
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 5
07.08.2012, 21:12  [ТС] #2
Все еще актуально.

Добавлено через 11 часов 50 минут
Может быть по-другому поставить вопрос,
Как по циклу (i=число кнопок на UIToolBar) перебрать .style всех кнопок для инверсии состояния (стиля отображения) -если 1 , то меняем на 2; если 2, то меняем на 1?
Я просто не знаю как вытащить из свойств ToolBar число находящихся на нем кнопок и как точно указать в коде на конкретную кнопку.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
07.08.2012, 21:31 #3
Если вам для нажатий - при создании выставляйте .tag у кнопки, а при нажатии на неё - смотрите этот тег.
Иначе - можете хранить все кнопки в отдельном массиве.
0
alexsda
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 5
07.08.2012, 22:52  [ТС] #4
С tag все понятно - можно в IB каждой кнопке задать свой tag и при нажатии его увидеть. Вопрос в другом - на панели более 20-то кнопок. Жмем кнопку с литерой Б - она программно подсвечиваестя, а остальные нет. Затем жмем кнопку с литерой Ю. С первой кнопки надо снять подсветку, а второй дать - завсветить нажатую кнопку просто, а вот как быть с перовй? Как ее найти, ведь при создании панели и кнопок на ней в IB кнопки имена не получают.
Буду рад любому совету!
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
08.08.2012, 05:19 #5
При чем тут IB, не IB, какая разница, у Вас всегда его вьюха, а у неё стек сабвью. Выставьте картинки для разных состояний UIControl, от класса которого и пронаследована кнопка. UIControlStateNormal и UIControlStateHighlighted к примеру.
Если у Вас все в ксибе и Вам нужно найти вьюху, вы можете мануально все кнопки прибиндить как IBOutlet, либо воспользоваться - viewForTag методом.
0
alexsda
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 5
08.08.2012, 07:12  [ТС] #6
"Я же ведь только учусь..."
Спасибо вам большое! Буду разбираться.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
08.08.2012, 14:32 #7
Для Спасибо там кнопка внизу есть.
1
alexsda
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 5
08.08.2012, 19:51  [ТС] #8
Еще раз спасибо за наводку!
Возник вопрос: viewForTag помогает найти сам UIToolBar, но не кнопки UIBarButtonItem на UIToolBar. Как можно их найти?
0
08.08.2012, 19:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2012, 19:51
Привет! Вот еще темы с ответами:

Имитация нажатия кнопки - C#
Как сымитировать нажатие кнопки, но не определенному окну, а вообще?

Имитация нажатия кнопки Back - C# ASP.NET
Подскажите как на в VBScript сымитировать нажатие кнопки броузера 'Back'? Заранее благодарен.

Имитация нажатия кнопки на сайте - C#
Всем привет. Предположим есть сайт, в нем есть поисковая система. В ней задаются некоторые параметры поиска, нажимается кнопка искать,...

Програмная имитация нажатия кнопки - JavaScript
Написал код который по клику будет менять цвет фона страницы, хочу чтобы программа делала это автоматически через определённое время,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru