iPad вид макета похож на Facebook - PullRequest
1 голос
/ 13 января 2012

Как можно было бы создать приложение для ipad, которое имеет макет представления, аналогичный приложению facebook?То есть один большой вид в центре и меньший, похожий на меню контроллер с левой стороны становится видимым, когда вы перемещаете основной вид вправо?Используют ли они измененный макет splitview, или это пользовательский многослойный макет?

Я знаю, что, вероятно, должен использовать некоторые средства распознавания жестов, но кто-нибудь может указать мне правильное направление, как переделатьмакет приложения Facebook?Например, какими будут два основных контроллера (табличное представление слева, настраиваемое представление в полноэкранном режиме посередине, место над табличным представлением?) И как я могу вставлять / выводить меню?

Заранее спасибо

как примечание: мне нужна только альбомная ориентация, это должно облегчить задачу.

[править] Это моя текущая реализация с viewdeckcontroller:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

RootViewController* menu = [[RootViewController alloc] init];
UINavigationController* navController= [[UINavigationController alloc] initWithRootViewController:menu];

DetailViewController* center = [[DetailViewController alloc] init];

IIViewDeckController* rootController = [[IIViewDeckController alloc] initWithCenterViewController:center leftViewController:navController];
_menuController = rootController;

rootController.leftLedge = [[UIScreen mainScreen] bounds].size.width - 50.0;

self.window.rootViewController = rootController;

[self.window makeKeyAndVisible];

Этокласс rootviewcontroller (левый боковой элемент меню):

-(void)loadView 
{
//   [super loadView];
   //   self.tableView = [[[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped] autorelease];

   self.view= [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320, 704)];

   UITableView* tableView= [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];

   [self.view addSubview:tableView];

   self.tableView= tableView;
}

Ответы [ 3 ]

2 голосов
/ 14 января 2012

Это выпадающий проект XCode для именно того, что вы хотите.:) https://github.com/devindoty/DDMenuController

1 голос
/ 14 января 2012

IIViewDeckController реализует скользящие представления (как в приложениях Path и Facebook), а также поддерживает вращение.

0 голосов
/ 23 марта 2012

Я знаю, что это может быть немного поздно.

Трудно быть уверенным, что это то, что вы имеете в виду, но для ширины левого выдвижного вида вы можете контролировать, сколько из него отображается, изменив свойство leftLedge на то, сколько пикселей от края должно быть покрыто centerViewController , то есть. leftLedge = 50 сделает левое меню 320-50 = 270 видимым, leftLedge = 250 сделает левое меню 320-250 = 70 видимым. Это видимая ширина, а не фактическая ширина.

В вашем приложении Delegate

IIViewDeckController *deckController = [[IIViewDeckController alloc] initWithCenterViewController:self.mainNavigationController leftViewController:self.sideMenuViewController];

deckController.panningMode = IIViewDeckNavigationBarPanning;
deckController.leftLedge = 50;
deckController.centerhiddenInteractivity = IIViewDeckCenterHiddenNotUserInteractiveWithTapToClose;
...