То, что вы представили выше, выглядит следующим образом:
OnLongClickListener
R.id.saveImage
, и вы пытаетесь сохранить изображение на основе индикации isLongClickable
Если истина, вышеупомянутое неверно, потому что isLongClickable
в основном является просто индикацией того, что данному элементу управления назначено OnLongClickListener
.
Что вам следует делать: либо сохраняйте данные внутри каждого соответствующего OnLongClickListener
(и его onLongClick
даст вам представление, то есть ImageView), ИЛИ если вам нужно сделать сохранение только после [ 117] щелкните, затем в OnLongClickListener
вы должны как-то сообщить своему приложению, что данный ImageView был долго нажат, а затем после R.id.saveImage
щелкнуть, пролистать список записанных длинных щелчков ImageView и выполнить сохранение.
В iPhone OS 2.2.1 и 5.0.1, и в средстве моделирования и на устройстве, открывая данные: URL работает отлично в a UIWebView
но использование openURL
точно ничего не делает.
И Safari будет с удовольствием, и правильно, представлять такой URL, если Вы будете готовы ввести один в панель навигации, таким образом, это - ясно проблема с sharedApplication openURL
, не с Safari.
Если строка base64 достаточно коротка (меньше, чем 2K, вероятно), Вы могли бы перенести его как параметр запроса к http URL, который просто возвращает перенаправление URL данных. Затем Вы могли использовать openURL для открытия http URL. Да, это означает возвращаться через некоторый сервер, но он работал бы.
С другой стороны, так как Safari, очевидно, не сделал этого, Вы могли сказать iPhone, что Ваше приложение является обработчиком для данных: схема и берет на себя ответственность за рендеринг содержания в UIWebView. Это кажется вероятным перестать работать в будущем, все же.:-)
Куда URL данных прибывает из во-первых? Возможно, Вы могли создать веб-страницу, содержание которой является не чем иным как <iframe src="<the data url>"/>
и снова, используйте openURL на том URL.
Это должно сделать это:
NSURL *yourURL = [[NSURL alloc] initWithString:yourStr];
[[UIApplication sharedApplication] openURL:yourURL];
[yourURL release];
принятие "yourStr" является NString с URL, где Ваши данные расположены.