Я провожу некоторое время, работая над этим, а также для приложения, с которым я был заключен контракт на сборку. В принципе, поскольку API в настоящее время стоит, это невозможно. Основная проблема - это класс UIImage STRIPS для всех данных EXIF, за исключением ориентации. Кроме того, функция сохранения в рулон камеры блокирует данные. Таким образом, в основном единственный способ захватить и поддерживать любые дополнительные данные EXIF - это сохранить его в приватном «ролике камеры» в вашем приложении. Я также подал эту ошибку с яблоком и подчеркнул необходимость повторных обращений к разработчикам приложений, с которыми мы связывались. Надеемся, что когда-нибудь они их добавят. В противном случае это делает полностью привязанным к GEO тегирование, поскольку оно работает только в приложении «запаса» камеры.
ПРИМЕЧАНИЕ. Некоторые приложения в магазине приложений hack
g0] вокруг этого. К тому, что я нашел, напрямую обращаюсь к рулону камеры и сохраняю фотографии прямо на нее, чтобы сохранить данные GEO. Однако это работает только с фотокамерой / сохраненными фотографиями, а НЕ с остальной библиотекой фотографий. Фотографии, «синхронизированные» с вашим телефоном с вашего компьютера, имеют все данные EXIF, за исключением ориентации.Я все еще не понимаю, почему эти приложения были одобрены (черт возьми, даже УДАЛИТЬ из ролика камеры) и наших приложение, которое ничего не удерживает.
У FluentSharp есть метод lowerCaseFirstLetter
, который делает это
Самый простой способ использовать заглавные буквы:
1- Использование System.Globalization;
// Creates a TextInfo based on the "en-US" culture.
TextInfo myTI = new CultureInfo("en-US",false).
myTI.ToTitleCase(textboxname.Text)
`
Кажется, тут много сложностей, когда все, что вам нужно, это:
/// <summary>
/// Returns the input string with the first character converted to uppercase if a letter
/// </summary>
/// <remarks>Null input returns null</remarks>
public static string FirstLetterToUpperCase(this string s)
{
if (string.IsNullOrWhiteSpace(s))
return s;
return char.ToUpper(s[0]) + s.Substring(1);
}
Примечательные моменты:
Это метод расширения.
Если входное значение пустое или пустое, входное значение возвращается как есть.
String.IsNullOrWhiteSpace был представлен в .NET Framework 4. Это не будет работать со старыми платформами.
Проверьте, не является ли строка пустой, затем преобразовывают первый символ в верхний регистр и остальную часть их к нижнему регистру:
public static string FirstCharToUpper(string str)
{
return str?.First().ToString().ToUpper() + str?.Substring(1).ToLower();
}
Возможное решение разрешить Вашу проблему.
public static string FirstToUpper(this string lowerWord)
{
if (string.IsNullOrWhiteSpace(lowerWord) || string.IsNullOrEmpty(lowerWord))
return lowerWord;
return new StringBuilder(lowerWord.Substring(0, 1).ToUpper())
.Append(lowerWord.Substring(1))
.ToString();
}