
vladimir
05.06.2018
14:58:20
что нужно сравнить?
человеческим языком

Kirill
05.06.2018
14:58:38

vladimir
05.06.2018
14:58:46
я понимаю, что сравнивается эпсилон

Google

Max
05.06.2018
14:58:48
если повернут, разверни обратно

vladimir
05.06.2018
14:59:09
с нулём можно double сравнивать, если что

Kirill
05.06.2018
14:59:12

vladimir
05.06.2018
14:59:33
там нет булевых

Andrey
05.06.2018
14:59:54

vladimir
05.06.2018
15:00:00
попробуй 0 во втором случае

Kirill
05.06.2018
15:00:38

vladimir
05.06.2018
15:00:38
оно же должно прокрутиться в исходное состояние - с поворотом 0

Max
05.06.2018
15:00:50

vladimir
05.06.2018
15:01:20
ну вот, RotateXTo должна быть 0

Max
05.06.2018
15:01:26

Google

vladimir
05.06.2018
15:02:40
опять же, почему сравнивается с 1e-8? сравни с 0
сравнение с константами делается с эпсилон, конечно, но оно тут ни к чему

Max
05.06.2018
15:02:42

vladimir
05.06.2018
15:03:33
и тогда вообще должно быть double.Epsilon
сравнивай с 0, короче, отрицательного угла там не должно быть

Max
05.06.2018
15:05:21
и тд

Kirill
05.06.2018
15:06:13

Max
05.06.2018
15:06:48
это константа с min.double + еще значимая часть

Kirill
05.06.2018
15:07:07

vladimir
05.06.2018
15:07:27
именно, потому сранивая с константой 7.0, мы делаем
double d = GetDouble();
bool doubleEquals = Math.Abs(d - 7.0) < double.Epsilon;

Kirill
05.06.2018
15:07:56

vladimir
05.06.2018
15:08:10
к тому, что он так по-хитрому пытается свою минимальную константу использовать, где она, во-первых, не нужна, а, во-вторых, она не так используется

Max
05.06.2018
15:08:16

vladimir
05.06.2018
15:08:18
там сравнение, потому что, должно быть с 0

Kirill
05.06.2018
15:08:26
ааааа

vladimir
05.06.2018
15:08:48

Kirill
05.06.2018
15:09:22

Max
05.06.2018
15:10:16
это уж для совсем точных

Google

Max
05.06.2018
15:11:03
мне надо было угол просто 180 +- 0.00001 убрать с погрешности

vladimir
05.06.2018
15:11:13
вообще там double в Forms - overhead
float в 99% случаях достаточно просто везде в UI
огромные миры в играх во float

Max
05.06.2018
15:11:32
но с вами согласен
но там это тоже eps-константа

vladimir
05.06.2018
15:13:16
так с новым кодом там надо будет просто сравнвать ExpandWishesButton.RotationX > 0 и всё, потому что оно будет в диапазоне от 0.0 до 180.0
а с 0.0 можно сравнивать

Max
05.06.2018
15:13:44

Кита
05.06.2018
17:45:45

Egor
05.06.2018
17:46:33
в дотнет коре пишут потиху сокет хэндлер для хттпклиента ?
т е С# portable имплементация

Кита
05.06.2018
17:47:17

Egor
05.06.2018
17:47:32
ну когда напишут - будем тоже юзать)
нетворк стек в замарине - самое слабое место

Кита
05.06.2018
17:47:58

Egor
05.06.2018
17:48:19
я недавно пофиксил пяток багов и был вообще в шоке как оно работает)

Кита
05.06.2018
17:48:20
Поэтому только нативные хэндлеры) только их и только со своими настройками

Max
05.06.2018
18:34:37
И обернуть на высоком уровне отлов ошибок через интерфейс, а реализовать отлов нативно на каждой платформе
И заворачивать нативные ошибки в какой-то дефолтный для C# Exception, условный ResponseException
И ловить сверху
Но это если делать нормально в рамках Forms

Google

Max
05.06.2018
18:37:33

Кита
05.06.2018
18:41:00

Max
05.06.2018
18:43:02

Nikita
05.06.2018
19:32:44
Коллеги, добрый вечер. А как полностью очистить проект? Я случайно сделал пространство имен NavigationPage. Xamarin начал ругаться, что нельзя для пространства имён делать new NavigationPage. Я переименовал свою папку, но компилятор и редактор до сих пор видят старое название

Max
05.06.2018
19:33:29
В самих файлах

Nikita
05.06.2018
19:43:26
Спасибо!

Олег
05.06.2018
20:52:36
Всем привет!
кто знает, в чем дело?
я тут собрал пример с Metanita. Там есть список друзей, сам добавляешь друга и редактируешь. Так вот, там открывается сперва лист, при нажатии на друга, должен открыться новый вью. На ювп и андроиде все отрабатывает, на айос нет.

Max
05.06.2018
21:02:01

Олег
05.06.2018
21:03:07
Так, ладно, метанит - шлак, я понял) но в чем дело может быть в итоге? На двух платформах отрабатывает, на ios нет.

Max
05.06.2018
21:04:16
Черт, заорал с вьюмодели, которую руками создают. Но типо оно примерно так же и работает в итоге, только вынесено это в NavigationService

Олег
05.06.2018
21:04:32
Я ещё учусь.

Max
05.06.2018
21:04:49

Олег
05.06.2018
21:07:06
По сути при нажатии на объект в списке должен открыться новый вью. Там можно редактировать, добавлять и удалять информацию.
В андроиде и ювп при нажатии на элемент в списке, открывается новый вью - как и должно. В айос элемент просто выделяется в списке, но навигации не происходит.

Max
05.06.2018
21:07:38

Google

Max
05.06.2018
21:08:01
Потому что тут должен быть асинхронный вызов
await Nav.PushAsync
Ну и естественно, все это дело не должно быть в свойстве
А в отдельном методе, как минимум
И работать через команду

Олег
05.06.2018
21:09:39
Через обработчик itemselected?

Max
05.06.2018
21:09:48
Если навигация простая и ты пока не разобрался с ViewModel <=> ViewModel навигацией, то проще делать вот в таком ключе, прямо на странице (.xaml.cs)
Ну и условные данные вытащи из ViewModel к которой данная страница прибинжена
Можно через
var vm = BindingContext as MyViewModel;
...
await Navigation.PushAsync(vm.Data)

Олег
05.06.2018
21:13:52
Попробую. Благодарю, Сова.

Max
05.06.2018
21:16:08
Ну если прям хочется vm2vm кастомную глянуть, то тебе сюда и подчистую клонить все
https://github.com/Binwell/Order-King-Mobile-Core
Но с навигацией я там более чем не согласен
Хотя, она в принципе своеобразная и в принципе работает

Олег
05.06.2018
21:29:44

Кита
05.06.2018
21:29:54
Но с навигацией я там более чем не согласен
на message busах? да, решение так себе. Как и делать состояние для страницы типа Loading и перекрывать пользовательский интерфейс и запрещать пользовательскую активность. 2к18 же на дворе. Но это все пропагандирует mvvm подход

Олег
05.06.2018
21:29:57
ну, вот так в принципе работает. Я такое уже делал.