iPhone development

ну, UIButton позволяет выставлять картинки, причем для разных состояний

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

а туда уже изображение back можно запихнуть, единственное, что надпись на кнопке должна быть нарисована, а если нужна локализация, то тут уже для каждого языка нужно свое изображение.
Но она по моему все равно будет реагировать на тапы в некой прямоугольной области.
 
Чувствую вопросы у меня на закончатся. :rolleyes:

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

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

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

4. Когда мы загрузили файл мы его можем сохранить только в нашу папку или можно сохранить еще в какуето папку? Если да то в какую?
 
1) Сделай сегментед-контролу афинное преобразование, поверни на 90 градусов

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

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

4) В любую папку
 
Ленин, спасибо за ответы.
Мне в таблицу нужно добавить вот такой текст.
attachment.php


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

Вкладення

  • Снимок экрана 1.png
    Снимок экрана 1.png
    4.3 КБ · Перегляди: 487
сложно сказать, тут может быть много вариантов. Я бы UIwebView сделал а в нее бы html ку загрузил, тогда в тексте были бы и разные шрифты и цвета.

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

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

Вообще, поищи книгу Ерики Садун - "Поваренная книга iPhone разработчика", она на английском языке правда, но очень много полезной инфы и примеры с ней прилагаются в виде готовых проектов.
 
сложно сказать, тут может быть много вариантов. Я бы UIwebView сделал а в нее бы html ку загрузил, тогда в тексте были бы и разные шрифты и цвета.

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

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

Вообще, поищи книгу Ерики Садун - "Поваренная книга iPhone разработчика", она на английском языке правда, но очень много полезной инфы и примеры с ней прилагаются в виде готовых проектов.

Есть у меня эта книга с примерами. И помню, что видел пример с html.
Есть пару вопросов по поводу UITextField.
Как убрат всплывающую подсказку?
Как заменить вводимые символы на звездочки?(для пароля.)
 
Как убрат всплывающую подсказку?

[textField setAutocorrectionType: UITextAutocorrectionTypeNo];

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

[textField setSecureTextEntry: YES];

это из протокола UITextInputTraits, который поддерживают все классы, работающие с экранной клавиатурой
 
[textField setAutocorrectionType: UITextAutocorrectionTypeNo];



[textField setSecureTextEntry: YES];

это из протокола UITextInputTraits, который поддерживают все классы, работающие с экранной клавиатурой

Все заработало. Сейчас наступил на такие грабли. Запутался сильно.
Это все про тот класс 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 передавать указатель на класс переключатель. Если не получится и никто не понял, что мне надо то объсню подробней или покажу проджект.
 
По большому счету к ссылкам на что-либо следует относиться проще, их можно хранить где-угодно и в каких угодно количествах, главное чтобы ты сам понимал как это все организовано и это не усложняло проект в плане его развития.

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

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

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

2) Как подсчитать количество строк в странице UIWebView?
Никак. Только примерно - зная размеры шрифтов и размеры страницы. (так ты можешь подсчитать максимальное количество, которое поместится на странице). Если же у тебя неполное количество и тебе нужно узнать какое - то это нереально. (у меня не получилось)
 
По поводу первого я уже догодался сам. По поводу UIWebView тоже пришел к тому, что это сделать нереально. Реально только вот так. Подсчитать размер каждой буквы при определенном шрифте. Потом написать метод который будет рассчитывать количество строк в зависимости от того сколько символов и какие символы введены. Но это очень геморойно.

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

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

Да это не красиво. Но заказчик хочет, чтобы было многострочное поле ввода и при нажатии на кнопку на клаве, чтото происходило.
Можно ли както сделать то что я описал?

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

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

Вкладення

  • Снимок экрана 6.png
    Снимок экрана 6.png
    72.3 КБ · Перегляди: 91
хз. Тут по другому в принципе простых вариантов не вижу.

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

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

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

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

Я точно не знаю, но мне кажется, что будет. Помоему главное требование это платформа интел. У меня на работе мак мини на ppc. Вот там были танцы с бубном. А на этот думаю все должно встать без проблем.
 
Да в описание нужна платформа intel. По идее должно всё работать.
 
Ленин у меня пару вопросов.
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 он также отображает ссылки. И эти ссылки работают. Как можно их отключить. Пусть свиду это будет ссылка только пусть по щелчку на ней не будет перехода.
 
Назад
Зверху Знизу