Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Диагональ экрана для iOS разработчиков

Всем привет. Хочу прикупить imac, стоит вопрос не столько в начинке сколько в диагонали экрана. Расскажите кто на чем пишет, достаточно ли 21 дюйма для комфортной работы, болят ли глаза от 27 дюймов? Заранее благодарее.
Ответ: уже года два на 13дюймовом макбуке
Вопрос: Экран загрузки, мобильное приложение iOS/Android

Здравствуйте! Подскажите, экран загрузки приложения, хочу сделать анимацию (gif, apng, mng) при загрузки приложения для iOS/Android. Будет ли это работать, какие есть решения?
Ответ:
Вопрос: Черный экран при смене представления в эмуляторе

Есть 2 представления - книжное и альбомное. При запуске отображается книжное представление. При смене представления с книжного на альбомное (cmd + right) - отображается черный экран. Что не так?

Код

//
//  ViewController.h
//  swap3
//
//  Created by 0xdeadc0de on 05.04.14.
//  Copyright (c) 2014 0xdeadc0de. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIView *portrait;
@property (strong, nonatomic) IBOutlet UIView *landscape;
@end


Код

//
//  ViewController.m
//  swap3
//
//  Created by 0xdeadc0de on 05.04.14.
//  Copyright (c) 2014 0xdeadc0de. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#define degreesToRadians(x) (M_PI * (x) / 180)

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if (toInterfaceOrientation == UIInterfaceOrientationPortrait) {
       
        self.view = self.portrait;
        self.view.transform = CGAffineTransformIdentity;
        self.view.transform = CGAffineTransformMakeRotation(degreesToRadians(0));
        self.view.bounds = CGRectMake(0.0, 0.0, 320.0, 460.0);
        
    } else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
       
        self.view = self.landscape;
        self.view.transform = CGAffineTransformIdentity;
        self.view.transform = CGAffineTransformMakeRotation(degreesToRadians(-90));
        self.view.bounds = CGRectMake(0.0, 0.0, 480.0, 300.0);
        
    } else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
        
        self.view = self.landscape;
        self.view.transform = CGAffineTransformIdentity;
        self.view.transform = CGAffineTransformMakeRotation(degreesToRadians(90));
        self.view.bounds = CGRectMake(0.0, 0.0, 480.0, 300.0);
   
    }   
}
@end

Ответ:
жалко
Вопрос: Перелистывание текста на экранах.

Здравствуйте. Простите, только начинаю изучать, поэтому с терминологией пока проблемы. Надеюсь поймёте.

Ситуация примерно такая... Есть View Controller на котором расположен текст. Вокруг всякая мишура (оформление). Хотелось бы, чтобы при проведению пальцем по экрану (слева направо), текущий текст улетал, а появлялся новый. Из массива или БД - не важно. 

Так как я начинающий, то посмотрел некоторые записи, посты и т.д. и сделал два View Controller'a, которые связал через Swipe и вроде как задача частично решилась. Частично, потому как там перелистывание не такое. Но два View Controller'a это не то. Гипотетически, массив строк может включать и 200 строк, поэтому делать для каждой строки свой View Controller кажется глупостью. Отсюда и вопрос. Как можно скролить строки (TextView) горизонтально? По сути человек должен увидеть примерно так: 
текст1 -> махнул пальцем справо-налево -> текст2 -> махнул пальцем справо-налево -> текст 3 -> махнул пальцем слева-направо -> текст2 (то есть вернулись на 1)


Поясните пожалуйста или ссылки какие-то киньте. 

Благодарю.
Ответ:
Мне помогло) спасибо)
Вопрос: Как сделать строку с несколькими одинаковыми по ширине Label, чтобы они масштабировались в зависимости от ширины экрана?

Я добавил несколько Label на View. У всех выставляю констрейны: левый 0, правый 0 и ширину.
Затем программно беру ширину экрана, делю на количество Label, и каждому констрейну ширины выставляю полученное значение. Можно ли сделать проще? Без программного выставления констрейнов.
Ответ: Alex_Y, используй UIStackView
Вопрос: Как поймать момент, когда ячейка UITableView показалась на экране?

начал для этого использовать tableView:willDisplayCell:forRowAtIndexPath:
но если там сделать [tableView cellForRowAtIndexPath:indexPath] то ячейку мы не получим, получается её ещё нет в таблице
Ответ: когда ячейка отобразилась на экране
я по indexPath ячейки получаю id материала
и добавляю в очередь загрузку картинки для материала с данным id
когда подходит очередь картинки надо проверить есть ли эта ячейка на экране и изменить на ней индикатор загрузки

Добавлено через 1 минуту
из-за того что очередь подходила раньше раньше отображения картинки, то не где было менять индикатор

Добавлено через 45 секунд
но я уже это переделал, теперь индикатор меняется в модели
Вопрос: Симулятор выдаёт результат в половину экрана

Выглядит это примерно так
Ответ: Size classes не ориентированны под четверку.
Либо отключай их, либо, если хочешь поддерживать сразу все экраны, гугли что такое autolayout - технология достаточно простая.
Вопрос: Как отобразить связь между объектами MVC на UML

Вопрос о uml но я думаю скорее всего ближе ios программистам.
У нас есть 2 вьюКонтроллера и 1 класс с данными(назовем его MyData), типо модель, там хранятся данные и методы для их обработки что бы можно их было вызвать из любого вьюконтроллера. При запуске программы мы попадаем на первую вьюху и сразу создаем объект MyData, вызываем методы получаем результат и выводим на экран, потом переходим на 2 вьюконтроллер, передаем туда по сигвею этот же объект и опять вызываем метод и выводим результат. Вопрос в том какими стрелочками на юмл диаграмме соединить эти 3 класса? Как между собой взаимодейсвуют вьюконтролееры? Насколько я понимаю если бы никакие данные не передавались то никакой связи на диаграмме вообще не надо? а как в этом случае? и как называется связь в ходе которой мы просто вызываем методы и передаем данные для вычисления? это не композиция и не агрегация. да и ассоциация вроде когда есть логическая зависимость?

Это сообщение отредактировал(а) Rubio - 23.3.2014, 18:10
Ответ:
Вопрос о uml но я думаю скорее всего ближе ios программистам.
У нас есть 2 вьюКонтроллера и 1 класс с данными(назовем его MyData), типо модель, там хранятся данные и методы для их обработки что бы можно их было вызвать из любого вьюконтроллера. При запуске программы мы попадаем на первую вьюху и сразу создаем объект MyData, вызываем методы получаем результат и выводим на экран, потом переходим на 2 вьюконтроллер, передаем туда по сигвею этот же объект и опять вызываем метод и выводим результат. Вопрос в том какими стрелочками на юмл диаграмме соединить эти 3 класса? Как между собой взаимодейсвуют вьюконтролееры? Насколько я понимаю если бы никакие данные не передавались то никакой связи на диаграмме вообще не надо? а как в этом случае? и как называется связь в ходе которой мы просто вызываем методы и передаем данные для вычисления? это не композиция и не агрегация. да и ассоциация вроде когда есть логическая зависимость?

Это сообщение отредактировал(а) Rubio - 23.3.2014, 18:10
Вопрос: Переход к основной логике программы после запуска

Здравствуйте! написал элементарную игру, проект назвал Game. Запускаю- все скомпилировалось! Симулятор выдает белый экран с надписью Game(название проекта). А как перейти к самой игре?? Спасибо!
Ответ:
Сообщение от PanKiller
Main.storyboard.xib
вот тут вы немного переборщили с xib
сториборд, это совершенно другой тип файла, потому должно быть так: Main.storyboard

И гляньте, чтобы в General настройках таргета были указаны эти файлы

Вобщем сначала появляется LaunchScreen вместо черного экрана, это как сплешскрин (можно и просто картинкой сделать вместо xib)
А потом должен появляться ваш Main.storyboard
Вопрос: Размеры экранов фруктовых девайсов

Что нужно для того, чтобы одно приложение(игра) с заданными размерами фоновой картинки одинаково хорошо запускались на айфоне 4, 5, 6 ну и на айпаде? чтобы например скачав приложение с аппстора оно запустилось на любом айфоне чтобы пользователь не обламался. Спасибо)
Ответ: Jabbson, zulkis Спасибо!