Панель вкладок iPhone с настраиваемыми кнопками и прокруткой

Я пытаюсь получить эффект панели вкладок, мало чем отличающийся от Приложение для просмотра объявлений Рассела Куинна. Панель вкладок прокручивается, что я понял, но сам стиль панели вкладок не похож ни на что, что я видел на iPhone (хотя это выглядит так просто!).

Он имеет квадратные кнопки с пробелом между ними, и каждая кнопка имеет состояние выбора/активности/неактивности. Мне трудно понять, как это может быть панелью вкладок, но я не знаю другого способа. Кто-нибудь может это объяснить?

ИЗМЕНИТЬ:

спасибо yukla за руководство, у меня все заработало с помощью uibutton. Это было довольно просто и довольно неловко, что я не мог придумать это... в моем rootviewcontroller.m я добавил это после того, как синтезировал homeBtn.

- (UIButton *) homeBtn {
    homeBtn = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
    homeBtn.frame = CGRectMake(0, 0, 100, 45);
    [homeBtn setTitle:@"Home" forState:UIControlStateNormal];
    [homeBtn setTitle:@"Home" forState:UIControlStateSelected];
    [homeBtn setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
    [homeBtn setBackgroundImage:[UIImage imageNamed:@"disabled.png"] forState:UIControlStateDisabled];
    [homeBtn setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateSelected];
    [homeBtn setBackgroundImage:[UIImage imageNamed:@"highlighted.png"] forState:UIControlStateHighlighted];
    [homeBtn setBackgroundImage:[UIImage imageNamed:@"highlighted+selected.png"] forState:(UIControlStateHighlighted | UIControlStateSelected)];
    [homeBtn addTarget:self action:@selector(switchPages:) forControlEvents:UIControlEventTouchUpInside];

    return homeBtn;
}

Просто создайте подкласс из UISwipeView, и все готово.


person Chunjai    schedule 15.06.2010    source источник


Ответы (1)


как насчет прокрутки с кнопками вместо панели вкладок?? у вас может быть другое изображение/фон для нормального/выбранного/отключенного состояния. но тогда вам придется написать свой собственный код для загрузки различных представлений.

person Swapnil Luktuke    schedule 15.06.2010
comment
Спасибо друг. на самом деле я получил ответ от источника (Рассел Куинн, приложение Creative Review). он сказал, что сделал каждую кнопку просто UIView. свойство backgroundColor устанавливается в ответ на обычные методы touchesBegan, touchesEnded и т. д. затем просто создайте их кучу и поместите их в UIScrollView. хотя согласен, мне определенно нужно написать свой собственный код для загрузки разных представлений, но это не так уж сложно. Спасибо за быстрый ответ! - person Chunjai; 16.06.2010