iPhone development

  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #41
ну, UIButton позволяет выставлять картинки, причем для разных состояний

[(UIButton*)button setImage: forstate:];

а туда уже изображение back можно запихнуть, единственное, что надпись на кнопке должна быть нарисована, а если нужна локализация, то тут уже для каждого языка нужно свое изображение.
Но она по моему все равно будет реагировать на тапы в некой прямоугольной области.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #42
Чувствую вопросы у меня на закончатся.

1. Радиобатаны. Знаю, что эпл придумала UISegmentedControl. Но блин он горизонталный. А если у меня длинное название, то что делать? Эпл не заброкует если сделать свой класс который будет состоять из 4 кнопок. и будет позволять нажимать одну кнопку из 4?

2. Мне надо при работе аппликейшена загружать файлы. Из каких папок это можно делать. Я же поидее могу указать какую нибудь папку с рисунками или еще чтото?

3. Есть ли какие нибудь готовые компоненты, чтобы лазить смотреть какие файлы есть в какой нибудь папке? Если гдето статья по этому поводу буду рад прочить. (А то у меня сразу вспоминается в C++ findfirst, findnext)

4. Когда мы загрузили файл мы его можем сохранить только в нашу папку или можно сохранить еще в какуето папку? Если да то в какую?
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #43
1) Сделай сегментед-контролу афинное преобразование, поверни на 90 градусов

2)из любых папок, я обычно все из Медиа тяну, потому что как правило все приложения сохраняют свои картинки и прочее туда

3)Disk Aid, но он триаловский на 30 дней или платный (недорогой довольно). Я шарюсь по девайсу с помощью ssh из командной строки, но девайс должен быть подключен к инету, чтоб на него зайти. Мне не приходилось с этим долго разбираться, т.к. у меня на работе Wi-Fi.

4) В любую папку
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #44
Ленин, спасибо за ответы.
Мне в таблицу нужно добавить вот такой текст.


Я просто в каждый элемент добавил UITextView. У меня вопрос в следующем. Как сделать, чтобы некоторые части текста можно выделить, а другим изменить цвет? И откуда взять символ ввиде треуголника? Самый главный вопрос: Как можно повторить то, что на картинке?
 

Вкладення

  • Снимок экрана 1.png
    4.3 КБ · Перегляди: 500
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #45
сложно сказать, тут может быть много вариантов. Я бы UIwebView сделал а в нее бы html ку загрузил, тогда в тексте были бы и разные шрифты и цвета.

Кстати html можно и в UITextView вставить, погугли - найдешь метод, там недокументированная функция вызывается.

И треугольник можно картинкой вставить.

Вообще, поищи книгу Ерики Садун - "Поваренная книга iPhone разработчика", она на английском языке правда, но очень много полезной инфы и примеры с ней прилагаются в виде готовых проектов.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #46

Есть у меня эта книга с примерами. И помню, что видел пример с html.
Есть пару вопросов по поводу UITextField.
Как убрат всплывающую подсказку?
Как заменить вводимые символы на звездочки?(для пароля.)
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #47
Как убрат всплывающую подсказку?

[textField setAutocorrectionType: UITextAutocorrectionTypeNo];

Как заменить вводимые символы на звездочки?(для пароля.)

[textField setSecureTextEntry: YES];

это из протокола UITextInputTraits, который поддерживают все классы, работающие с экранной клавиатурой
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #48

Все заработало. Сейчас наступил на такие грабли. Запутался сильно.
Это все про тот класс SwitchView. У меня есть класс который должен переключать представления внутри закладки. Пока работал с UIViewController. Все было нормально. А вот когда столкнулся с UINavigationController появились проблемы. Вот до этого я вот так создавал классы внутри класса который отвечает за переключение окон.
Я создавал классы на базе UIViewController вот так
loginPage = [[LoginPage alloc] init];
Сохранял указатель на класс который ответчает за переключение.
self.loginPage.delegateRef= self;
Одно из окон устанавливалось по умолчанию
[self.view insertSubview:loginPage.view atIndex:0];
Когда мне надо было переключить окна то я вызвал мето SwitchViews приблизительно вот так.
[(SwitchPanel*)self.delegateRef switchViews:2 comin:1];
А теперь в чем проблема. Я на свое окно решил добавить кнопочки еще какието контролы и таблицу. Собственно для кнопочек я создал отдельный класс. И потом все создал вот так.
navInCube = [[UINavigationController alloc] initWithRootViewController:[[CubeViewPanel alloc] init]];
Да все создалось. Возникает первый вопрос. Куда сохранять указатель на мой класс переключатель?
Что мне надо сделать. В классе CubeViewPanel есть какаето кнопка. Надо чтобы при нажатии на нее вызвался метод SwitchViews. Появилась идея как это сделать. Взять в инициализатор класса CubeViewPanel передавать указатель на класс переключатель. Если не получится и никто не понял, что мне надо то объсню подробней или покажу проджект.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #49
По большому счету к ссылкам на что-либо следует относиться проще, их можно хранить где-угодно и в каких угодно количествах, главное чтобы ты сам понимал как это все организовано и это не усложняло проект в плане его развития.

Если тебе не хочется возится с ссылками и делегатами то попробуй пользоваться NSNotificationCenter, очень удобная штука для приложений с большим количеством классов, которые должны тем не менее держать связь друг с другом.
В частности я писал аппликуху для скачивания файлов с сайтов типа rapidshare, и там при скачивании контента, его нужно было обрабатывать в нескольких классах + обрабатывать ошибки обработки и скачивания, которые опять же возникали в разных местах, а посылалось все в конечном итоге одному классу, и чтоб не хранить везде в проекте на него ссылки, я просто пользовался этим инструментом.
С центром сообщений все работало очень просто, подписываешь классы на нужные им сообщения, потом постишь сообщение с любого места, и нужный класс его получит, причем ему не важно от кого оно пришло (если сам ему не задашь отправителя)
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #50
Лени, спасибо что рассказал про NSNotificationCenter. Пока юзать не буду но взял на заметку, что такое есть.
Ты не сталкивался с UIWebView? Меня вот что интерисует. Как при создании странички вручную указать путь к картинке из ресурсов? Как подсчитать колличество строк в странице UIWebView?
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #51
с UIWebView я сталкиваюсь каждый день ).

1) Как при создании странички вручную указать путь к картинке из ресурсов?

лучше при загрузке приложения скопировать эту картинку в какую нить папку. И хранить твою страничку в ней же. Либо если загружаешь страницу не из файла а из строки задать BaseUrl - путь к этой папке.

2) Как подсчитать количество строк в странице UIWebView?
Никак. Только примерно - зная размеры шрифтов и размеры страницы. (так ты можешь подсчитать максимальное количество, которое поместится на странице). Если же у тебя неполное количество и тебе нужно узнать какое - то это нереально. (у меня не получилось)
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #52
По поводу первого я уже догодался сам. По поводу UIWebView тоже пришел к тому, что это сделать нереально. Реально только вот так. Подсчитать размер каждой буквы при определенном шрифте. Потом написать метод который будет рассчитывать количество строк в зависимости от того сколько символов и какие символы введены. Но это очень геморойно.

У меня еще вот такая проблема возникла. Не знаю будет ли она на реальном устройстве. Я пока только на симуляторе тестирую. Создал я таблицу в которой в каждый ряд добавил UIWebView. Вроде все работает, но есть небольшой графический глюк. Когда я прокручиваю таблицу она прокручивается, а потом в некоторых строках содержимое гдето через пол секунды меняется. Присмотрелся. Понял что таблица обновляется с задержкой. Можно ли от этого как нибудь избавиться?
И еще вопрос связанный с UITextView. Есть такой контрол как UITextField. Используя его можно установить делегат на UITextFieldDelegate и обработав вот это сообщение textFieldShouldReturn( можно перехватить нажатие клавиши return и выполнить те действия которые мне нужно) Только есть проблема. Мне нужен многострочный UITextField. И я так понимаю, что это UITextView. Но используя этот контрол я не нашел аналогичного сообщения для перехвата нажатия кнопки ретурн. С одной стороны это логично. Если я перехвачу то у меня не будет возможности перейти на следующую строку(будет переход только при полном заполнении строки) Да это не красиво. Но заказчик хочет, чтобы было многострочное поле ввода и при нажатии на кнопку на клаве, чтото происходило.
Можно ли както сделать то что я описал?
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #53

не стоит так делать - на девайсе текст вообще может не обновиться. Как у ВебВью так и у ТекстВью есть глюк - они, находясь за пределами экрана, не всегда отрисовывают свой текст. В итоге при прокрутке вниз у тебя будут пустые ячейки и они будут прорисовываться только при клике на них. Таблица обновляется мгновенно - ВебВью загружается не мгновенно.


нет
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #54

И это не как нельзя исправить?(загрузить вебвью мгновенно) Вот еслибы тебе дали задание в котором надо сделать вот такое как бы ты это сделал?
 

Вкладення

  • Снимок экрана 6.png
    72.3 КБ · Перегляди: 107
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #55
хз. Тут по другому в принципе простых вариантов не вижу.

Если подумать, то ВебВью должно загрузиться один раз, а потом находиться в этом состоянии. При прокрутке глюков не может быть, разве что у тебя в cellforrowatindexpath задано ее загружать.

Попробуй сделать так, чтобы ВебВью загружался только если cell = nil, а потом просто ее переиспользовал не загружая. Это можно реализовать если у каждой ячейки будет уникальный идентификатор.

Глюка с непрорисовкой не должно в этом случае быть.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #56
Угу, задано. Ну теперь понятно хоть откуда копать надо. Спасибо.

Вот такой вопрос. Есть UIImagePicker и у меня в нем картинки из фотографий. Каким образом можно получить абсолютные пути к этим картинкам?
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #57
Сорри за оффтоп. А sdk будет нормально работать без танцев с бубном на мак мини с процом intel core duo (не путайе плиз с core2duo). Я так понял на сайте яблочников то будет работать на любом проце интела.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #58

Я точно не знаю, но мне кажется, что будет. Помоему главное требование это платформа интел. У меня на работе мак мини на ppc. Вот там были танцы с бубном. А на этот думаю все должно встать без проблем.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #59
Да в описание нужна платформа intel. По идее должно всё работать.
 
  • 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #60
Ленин у меня пару вопросов.
1.Отправляю запрос Get вот так. Все работает до тех пор пока в моей юрл не появляются пробелы. Аппликейшен валится. Выяснил, что аппликейшен валится из-за пробелов. Заменил их на %20 ручками. Все работает. Но нету более нормального способа, чем делать это ручками?

NSURL *url = [NSURL URLWithString: stringURl];
NSMutableURLRequest *theRequest;
NSURLResponse *response;
NSError *error;
theRequest = [[NSMutableURLRequest alloc]initWithURL: stringURl];
[theRequest setHTTPMethod:@"GET" ];
urlData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse: &response error:&error];

2. При использовании UIWebView он также отображает ссылки. И эти ссылки работают. Как можно их отключить. Пусть свиду это будет ссылка только пусть по щелчку на ней не будет перехода.