Помещение другого представления UIViewController в «основной» UIViewController - методы делегата - PullRequest
0 голосов
/ 11 февраля 2012

Я пытаюсь сделать приложение, очень похожее на приложение iCal на iPhone.

Для этого я интегрирую 2 проекта с открытым исходным кодом, Kal (https://github.com/klazuka/Kal) и GuiCocoa / Calendar (https://github.com/guicocoa/calendar),, а также мой собственный закодированный сегмент представления «Список».

Я решил, поскольку мне нужно все, вложенное в стек UINavigationController, что лучший способ реализовать эти 3 отдельных проекта в одном виде,Я хотел бы создать что-то похожее на UITabBarController (в котором у вас есть 1 класс UIViewController, который хранит и вкладывает другие UIViewController - ОДНАКО, я хочу использовать пользовательский UIToolbar с UISegmentedControl для делегирования между различными контроллерами представления).* Таким образом, наиболее серьезная проблема, с которой я сталкиваюсь, - это неправильное делегирование действий, например:

Если бы я щелкнул по одной из дат в сетке, он вернул бы ошибку:

-[UINavigationButton didSelectDate:]: unrecognized selector sent to instance 0x6c1aba0 или что-то подобное.

Может быть, мой вопрос должен быть: есть ли "подкласс" UITabBarController, который я могу чертитьоставьте мой собственный UIToolbar вместо официального UITabBar и т. д.?

Или, если нет, есть ли способ указать, что все клики в «подпредставлении» должны быть делегированы функциям из подпредставления?

Спасибо, rnc505

1 Ответ

0 голосов
/ 11 февраля 2012

Прежде всего вы можете создать подкласс UIToolBar для его настройки.

#import <Foundation/Foundation.h>

@interface CustomToolBar : UIToolbar
{

}

@end


#import "CustomToolBar.h"

@implementation CustomToolBar

@end

и вместо звонка:

UIToolbar *toolbar = [[UIToolBar alloc] init];

вы звоните

CustomToolbar *toolbar = [[CustomToolbar alloc] init]

Другой вариант - просто изменить делегат кнопок по мере необходимости.

...