Все приложения в iphone отображаются в виде «значка сетки», как мне добиться этого расположения? - PullRequest
0 голосов
/ 12 февраля 2010

когда вы впервые открываете iphone, все приложение имеет макет типа «значок сетки». А если у вас слишком много приложений, пользователь проведет пальцем вправо, и появится новое представление, и все приложение снова появится в виде «значка сетки». Ребята, можете ли вы указать мне, где я могу добиться такого дизайна. Код был бы очень признателен !!! Я попробовал кое-что, и вот что я получил до сих пор.
В моем классе Delegate.h у меня есть

UITabBarController * tabBarController;
View1 * view1; // Наследуем от UIViewController
View2 * view2; // Наследуем от UIViewController

В моем классе «делегат.m» у меня есть

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    tabBarController = [[UITabBarController alloc] init]; //Create a tab bar
    view1 = [[View1 alloc] init]; //Create the first view
    UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:view1];

    view2 = [[View2 alloc] init]; //create the second view
    UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:view2];

    tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController1, navigationController2, nil];

    [window addSubview:tabBarController.view];
    [window makeKeyAndVisible];
 }

Итак, теперь у меня есть две вкладки, которые загружают view1 и view2, они оба реализуют UINavigationController, что означает, что если я создаю другой view3, когда я нажимаю ViewViewController, я могу создать анимированный эффект, такой как iPhone. Затем в view3.m, когда я пытаюсь вернуться, я могу popViewController. Однако то, чего я не могу достичь, это показать, что в каждом представлении у меня будет 4 значка, поэтому, когда я делаю запрос обратно из БД, я знаю, что должен отобразить 12 значков, то есть 3 вида. Но я знаю только, какую информацию во время выполнения :(. Как это верно, у меня действительно есть view1, view2 и view3 как view1.m, view2.m и view3.m. Если число значков превышает 12, то есть мне нужно другой взгляд тогда я винт. Помогите пожалуйста

Ответы [ 4 ]

4 голосов
/ 12 февраля 2010

Я бы взглянул на Three20 , среду с открытым исходным кодом, которая служит основой для приложения Facebook, и многих других. В нем есть класс, называемый TTLauncherView , который в точности соответствует текущему (на момент написания) пусковому устройству Facebook. Он очень близок к функциональности, которую вы получаете на домашнем экране iPhone, в комплекте с перелистыванием страниц, переупорядочением, колебанием и удалением.

0 голосов
/ 27 ноября 2013

Чтобы немного отмахнуться от этой темы, у Apple теперь есть UICollectionViewController для достижения эффекта сетки. Я бы реализовал это, поместив его в горизонтальное UISCrollView, прикрепленное к UIPageViewController.

0 голосов
/ 28 февраля 2010

Многие решения здесь кажутся излишними. Вот как я это делаю. Создайте шаблон UIViewControllerTemplate, который содержит 4 (или более) кнопок настройки. Поэтому каждый раз, когда вы создаете новый вид, у вас будет макет, который будет выглядеть как «сетка»

-(void) initButtons{
    //button size 100 X 100
    int shiftx = -5;
    int shifty = 15;
    (self.button1).frame  = CGRectMake(40-shiftx, 50-shifty, 100, 100);
    (self.button2).frame  = CGRectMake(180-shiftx, 50-shifty, 100, 100);
    (self.button3).frame  = CGRectMake(40-shiftx, 250-shifty, 100, 100);
    (self.button4).frame  = CGRectMake(180-shiftx, 250-shifty, 100, 100);
}

-(void) viewDidLoad{
    [self initButtons];
    [self.view addSubView:self.button1];
    [self.view addSubView:self.button2];
    [self.view addSubView:self.button3];
    [self.view addSubView:self.button4];
    [super viewDidLoad];
}
0 голосов
/ 12 февраля 2010

@ Жюльен не совсем прав. То, о чем вы говорите, это представления, которые добавляются в UIScrollView.

Вот пример представления прокрутки

Найдите здесь UIScrollView или ознакомьтесь с примерами Apple (см. Ссылку выше).

Как только вы реализовали UIScrollView, вы добавляете UIButtons или UIViews в scrollView, размеченный в формате сетки. Вот пример проекта gridView . Есть другие, которые выполняют поиск здесь или в Google, чтобы найти их (например, iPhone GridView или iPhone с открытым исходным кодом GridView)

...