Ответы пользователя по тегу Objective-C
  • Как стать IOS разработчиком без продуктов Apple?

    maximglobak
    @maximglobak
    iOS developer
    Ответ "никак" можно всегда найти на просторах гугла. Для аналогии можно привести пример обучению веб разработки, когда есть только телефон. Ну так себе, и не удобно и очень сложно.
    Но какие действительно есть варианты? Сейчас много коворкингов с маками, можно их арендовать и обучаться разработке для iOS. Проходить курсы с их железом (такие сложно найти), после которых вас, скорее всего заберет какая-то компания на стажировку. Там можно поселиться на время обучения (шутка Шредингера). Многие компании ищут iOS разработчиков и готовы инвестировать в Вас при определенных условиях. Так дайте им то, чего они хотят, а вы получите знания и опыт.
    Ответ написан
    Комментировать
  • Как считать строку в objective-c?

    maximglobak
    @maximglobak
    iOS developer
    Стало интересно и решил загуглить "Objective-C console readline" и где-то на 6 месте нашел что искал =) Протестировал и все работает. Держите =)
    NSLog(@"type a text:\n");
    NSFileHandle *input = [NSFileHandle fileHandleWithStandardInput];
    NSData *inputData = [input availableData];
            
    NSString *str = [[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];
    NSLog(@"Text: %@", str);
    Ответ написан
    1 комментарий
  • Как вывести метки на карте, сгруппированные по попаданию в определенный радиус?

    maximglobak
    @maximglobak
    iOS developer
    Зависит от карты, которую вы используете.
    А эти группки называются Кластерами. В гугле можно искать по этому тегу.
    1) Можете написать логику самому
    Статья
    2)Apple Map либа
    3)Google maps от гугла
    4)Яндек - тут все печально, будет проще вставить веб вью с JS кодом
    Ответ написан
    Комментировать
  • TapGesture, как определить элемент который нажал, или почему не работает CollectionView при нажатии на ячейку?

    maximglobak
    @maximglobak
    iOS developer
    Для коллекции немного другой делегат, но смысл его в том же.
    Тап гестуре лучше ставить в случае когда тебе нужно тащить эту ячейку куда-то. Т.е. совершать какие-то еще действия (гестуре) с этой ячейкой.
    Если просто нужно кликнуть по ячейке, то лучше использовать делигатный метод
    collectionView:didSelectItemAtIndexPath:
    И все же немного кода для поиска ячейки в коллекции
    //Сначала регистрируешь гестуре, потом определяешь функцию, которую он вызывает и в этой функции пишешь следующее
    //Это точка нажатия относительно коллекции
        CGPoint gestureLocationInCollectionView = [gesture locationInView:self.collectionView];
    
    // А тут находим индекс пас, но при его использовании проверяй всегда есть ли он на самом деле.
        NSIndexPath *indexPathForLocation = [self.collectionView indexPathForItemAtPoint:gestureLocationInCollectionView];
    
    if (indexPathForLocation) {
    //Code here 
    }
    Ответ написан
    Комментировать
  • Как реализовать popup на iPhone?

    maximglobak
    @maximglobak
    iOS developer
    Для хвостика есть специальный контроллер
    смысл следующий, ты создаешь контроллер свой, который тебе нужно отобразить.
    У него будет следующая проперти
    (myPopoverViewController это твой контроллер, который ты хочешь отобразить внутри поповера)
    myPopoverViewController.modalPresentationStyle = UIModalPresentationPopover;
    выставляешь, как в коде выше
    Потом тебе нужно его показать функцией, которая описана ниже
    [self presentViewController:myPopoverViewController animated: YES completion: nil];

    Дальше ты конфигурируешь поповер контроллер
    UIPopoverPresentationController *presentationController =
    myPopoverViewController.popoverPresentationController;
    Указываешь направления хвостика
    presentationController.permittedArrowDirections =
    UIPopoverArrowDirectionTop;
    Потом в sourceView указываешь из какого вью тебе нужно его показывать, откуда будет расти хвостик
    presentationController.sourceView = myView;
    presentationController.sourceRect = sourceRect;
    Таким образом должно все работать
    Ответ написан
    Комментировать
  • Как правильно выставить constraints?

    maximglobak
    @maximglobak
    iOS developer
    Выставляешь для левой кнопки привязку к:
    левому краю (фиксированное значение)
    вверху (фикс)
    низ (фикс)
    правому краю (до правой кнопки фикс)
    Первую кнопку привязываешь к:
    правому краю (фикс)
    вверх и низ (фикс)
    Не верен насчет левого края, но можно попробовать тоже его привязать к левой кнопкой с тем же значение, что ты привязал левую кнопку к правой.
    Потом выделяешь две кнопки и ставишь у них констрейнт для двоих "Одинаковую ширину"
    Ответ написан
    Комментировать
  • Обработка нажатий кнопок?

    maximglobak
    @maximglobak
    iOS developer
    Если делать через код, то создаешь кнопку и далее привязываешь действие к ней.
    UIButton *button  = [[UIButton alloc] init];
    [button addTarget:self action:@selector(pushButton:) forControlEvents:UIControlEventTouchUpInside];

    и дальше создаешь метод pushButton (тот что указан в action)
    - (void)pushButton:(id)sender{
    //code 
    }


    Если ты делаешь через сториборд, то
    - (IBAction)refresh:(id)sender{
     //Code
    }


    нажми ПКМ на кнопку и перетащи на эту функцию или на пустой код и в появившемся окне выбери Action и xcode сам создаст аналогичную функцию
    Ответ написан
    Комментировать
  • Как перенести пользователя оставить отзыв в AppStore?

    maximglobak
    @maximglobak
    iOS developer
    Как я делал:
    у меня велся счетчик заходов в приложение и на 5 заходе я спрашивал нравится ли приложение и хотели бы они оставить отзыв, если да, то просто открываешь ссылку как обычно, только itunes.apple.com/... меняешь на itms-apps://itunes.apple.com/... потом ставишь флаг, что пользователь уже оставил отзыв и больше не беспокоишь его.
    Функция для открытия ссылки:
    NSString *iTunesLink = @"itms-apps://itunes.apple.com/blablabla";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
    Ответ написан
    Комментировать
  • Как локализовать библиотеки CocoaPods?

    maximglobak
    @maximglobak
    iOS developer
    Если cocapods выдает строковое значение, то можно провернуть такую фишку:
    1. Делаешь расшираение для строк
    extension String {
        var localized: String {
            return NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: "")
        }
    }

    а далее получаешь строку которую нужно и локазизуешь ее
    Пример:
    let string = cocoapodsFramework.func().name
    myLabel.text = string.localized

    stackoverflow.com/questions/25081757/whats-nslocal...
    Ответ написан
    Комментировать
  • Есть идеи, как реализовать такую анимацию?

    maximglobak
    @maximglobak
    iOS developer
    У UIview есть animation или можно использовать CGAffineTransform
    это для плавного уменьшения высоты ячеек
    Я не уверен, но думаю при отрисовки ячеек стоит увеличивать некий глобальный счетчик на 1
    Повесить нотисфекшен на счетчик и выполнять свои действия при обределенных значениях.
    Мое мнение, что нужно делать это в таблице, скорллВью не замешивать сюда.
    Ответ написан
    Комментировать
  • Что лучше использовать для приложения на iOS: Core Data или sqlite + ORM?

    maximglobak
    @maximglobak
    iOS developer
    Можно посмотреть в сторону Realm. Очень простой синтаксис и все очень понятно.
    p.s. ходят слухи, что эта штуковина быстрее CoreData
    Ответ написан
    Комментировать
  • Как настроить прием данных с сайта без запроса?

    maximglobak
    @maximglobak Автор вопроса
    iOS developer
    Спасибо, Websocket - то, что нужно
    Ответ написан
    Комментировать