@xamarin_russia

Страница 422 из 619
Kirill
14.06.2018
13:12:58
И что искать?
класс TextCellRenderer

Max
14.06.2018
13:13:31
Там не все так просто, это формсы же
Ну, да, понятно, правильно отправили в исходники

An
14.06.2018
13:13:47
класс TextCellRenderer
Класс-то я нашел, но в нем что искать?

Google
Max
14.06.2018
13:14:15
какой пет, ты же теперь нативщик, удоли
Блен, ну хаки надо как-то выигрывать...

Kirill
14.06.2018
13:14:16
Рендер уничтожен, а что то его дергает поменять текст, по идеи при вызове Dispose рендер должен отсоедениться от элемента и отписаться от всех событий, но видимо этого не происходит

Max
14.06.2018
13:14:45
Что-то держит хардлинк

Kirill
14.06.2018
13:15:15
An
14.06.2018
13:17:18
Как получить стек, если я просто жму кнопку назад?

An
14.06.2018
13:23:52
Ничего нет http://prntscr.com/jux74b

Просто ошибка

Ильфат
14.06.2018
14:06:33
public override void ViewDidLoad() { base.ViewDidLoad(); scrollView.LayoutIfNeeded(); for (int i = 0; i < pageCount; i++) { frame.X = UIScreen.MainScreen.Bounds.Width * i; frame.Size = new CGSize(UIScreen.MainScreen.Bounds.Width, scrollView.Frame.Size.Height); var view = new UIView(frame); view.BackgroundColor = colors[i]; scrollView.AddSubview(view); } scrollView.ContentSize = new CGSize(UIScreen.MainScreen.Bounds.Width * pageCount, scrollView.Frame.Size.Height); scrollView.DecelerationEnded += scrollViewDecelerationEnded; pageControl.Pages = pageCount; pageControl.UserInteractionEnabled = false; }



Неправильно вычисляется высота scrollView, как это исправить?

Кита
14.06.2018
14:16:28
Посмотри исходники на гитхабе
ему исходники ничего не дадут. Этот эксепшн ситуативный

mute
14.06.2018
14:47:23
Неправильно вычисляется высота scrollView, как это исправить?
как должно быть то? и серое занято должно быть и под навбаром?

Google
Ильфат
14.06.2018
14:48:23
да. я получаю высоту скроллвью, добавляю в него вьюхи с такой высотой. а оказывается что эта высота короче, чем реальная высота скроллвью

Ильфат
14.06.2018
14:53:37
хз, надо узнать что это

Vladislav
14.06.2018
14:54:58
Неправильно вычисляется высота scrollView, как это исправить?
у тебя сейчас скролл под навигейшин баром начинается

Кита
14.06.2018
14:55:00
хз, надо узнать что это
ну у тебя скроллвью вроде как под навбаром

Ильфат
14.06.2018
14:55:48
точно

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

))))

Ильфат
14.06.2018
15:00:06
сюда отлично подходит стикер с Малышевой))

mute
14.06.2018
15:19:48
С этим сталкивались все, кто писал под iOS))
а разве когда у тебя вьюконтроллер внутри навигатионвьюконтроллере, то у него фрейм не сразу под баром начинается?

mute
14.06.2018
15:21:04
)

странно что такое вообще случается тогда

mute
14.06.2018
15:23:10
но ведь scrollview могет в safearea aware

Ильфат
14.06.2018
15:25:17
да, кстати, ширина элемента тоже неправильно вычислялась, больше чем ширина кадра скроллвью, но там я сделал ширину экрана. а с высотой так не получится, потому что внизу элементы

mute
14.06.2018
15:26:32
ну это потому что надо наверно ширину давать не по MainView, а по superview?

Google
Ильфат
14.06.2018
15:26:51
сейчас скроллится все норм. найти как вычислять высоту вью учитывая расстояние для navbar'a без того, чтобы складывать высоту вью и навбара (это костыль, как я понимаю)

ну это потому что надо наверно ширину давать не по MainView, а по superview?
да, наверное, но в данном примере они совпадают, так что всё работает

mute
14.06.2018
15:28:21
если чо я сам не бум бум в натив иос. интересный вопрос. тоже хочу понять что делать

Vladislav
14.06.2018
15:30:57
вообще, для работы с расчетами относительно других элементов, рекомендуется использовать DidLayoutSubviews вместо ViewDidLoad

так в последнем не всегда актуальные размеры

mute
14.06.2018
15:33:09
и переменная frame случайно на фрейм данного view не указывает? если делаешь фрейм для новой вьюхе то не надо разве var frame = new CGRect() ?

Iván
14.06.2018
15:37:20
это зависит используются ли констрейны или нет лучше использовать их и не смешивать, от смешивания обычно трэш

Кита
14.06.2018
15:38:47
Вообще да, лучше юзать констрейнты.

Vladislav
14.06.2018
15:48:04
За констрейны, + Лучший вариант: поставить либу упрощающую работу с констрейнами (ака fluent builder) и работать с ними в коде

Как и вообще работать с іОS ui в коде, чтобы выжать максимум из замарина

Кита
14.06.2018
15:52:24
Как и вообще работать с іОS ui в коде, чтобы выжать максимум из замарина
ну такое. зависит от задач. Если 60fps выдавать не надо - хватит и обычного autoview да и дизайнер поприятнее будет

Vladislav
14.06.2018
15:55:46
ну такое. зависит от задач. Если 60fps выдавать не надо - хватит и обычного autoview да и дизайнер поприятнее будет
Я про процесс лейаута в целом, очень часто приходится создавать кастомные контролы, и тут их либо в коде, либо с костылем через сториборды xcod'a впихивать, уже приходитсч мешать

Вариант эдитора интерфейсов студии даже не рассматриваю, ибо уж больно он лагуч

Vladislav
14.06.2018
15:57:59
почему костылем. Просто пишешь имя класса и все. Заменяешь базовое и все по сути
Вот именно это не дает раскрыть потенциал сторибордов на максимум, так как ты не видишь реального результата, а мешаешь контролы и 'белые прямоугольники'

IDesignable тоже не опишеш, как это можно в свифте

Кита
14.06.2018
15:58:44
единственное что lottie контролы иногда долго приходится подгонять

Google
Vladimir
14.06.2018
16:02:27
То основной трек, на мобиус последний Xamarin доклад не прошёл, тут та же комиссия, поэтому основная надежда на выделенную площадку
Хотя был доклад о том, как чуваки упоролись и начали на котлине делать ядро независимое на обе платформы, в тч, используя корутины. Я спросил у них, почему так сложно, они ответили, что не слышали про xamarin

Vladislav
14.06.2018
16:03:19
Ну тут уже, наверное, на вкус и цвет... Меня лично перспектива не тянуть 2 ide и полностью контролировать процесс создания вью радует больше, хотя не всегда к месту на маленьких проектах

FinniV
14.06.2018
16:46:57
Как лучше будет решить такую проблему Есть апишные модели и есть локальные, унаследованные от апишных локальные модели хранят в себе ссылку на вьюмодель в которой используеться моддель(для удаления айтема из коллекции) как лучше будет решить это нагромождение ссылок?

думал сделать интерфейс с дженерик методом и хранить ссылку на этот обьект уже

FinniV
14.06.2018
16:49:49
а как тогда правильно удалять айтем из коллекции на вм?

Max
14.06.2018
16:50:29
а как тогда правильно удалять айтем из коллекции на вм?
У тебя за это должен отвечать отдельный класс - репозиторий

VM хранит у себя экземпляр класса репозитория

репозиторий знает как записывать и доставать данные в бд

и только так

Admin
ERROR: S client not available

FinniV
14.06.2018
16:51:44
Опишу подробнее

Max
14.06.2018
16:52:29
Он не про это
не понимаю тогда про что он спрашивает, какие-то ссылки, куда-то

FinniV
14.06.2018
16:53:38
к примеру есть cell с кнопкой Delete по клипку на кнопку вызывается комманд который взывает метод на VM и уже этот метод удаляет айтем из коллекции на VM

Max
14.06.2018
16:53:58
то что на VM - это своя коллекция

то что в локальной бд

это другое

Google
Kirill
14.06.2018
16:54:16
а как тогда правильно удалять айтем из коллекции на вм?
VM получает объект, который надо удалить и намерение уалить его, и производит действия с коллекцией

FinniV
14.06.2018
16:54:35
то что в локальной бд
я ни слова про бд не говорил

Max
14.06.2018
16:54:58
я ни слова про бд не говорил
тогда почему вы сказали модель?

Kirill
14.06.2018
16:55:05
к примеру есть cell с кнопкой Delete по клипку на кнопку вызывается комманд который взывает метод на VM и уже этот метод удаляет айтем из коллекции на VM
Xamarin.Forms? Для кнопки комманду пробрасывать напрямую во VM без ссылки. Указывать байндинг через Parent.BindingContext

Kirill
14.06.2018
16:56:04
iOS\android MVVMCross
Ну наверняка тоже можно указать какой байндинг контекст использовать

Vladislav
14.06.2018
16:56:45
iOS\android MVVMCross
практиковал передачу комманд в cell

Iván
14.06.2018
16:56:49
> Есть апишные модели и есть локальные а VM делает различие?

FinniV
14.06.2018
16:57:30
> Есть апишные модели и есть локальные а VM делает различие?
апишные модели мапятся в локалные по надобности

Max
14.06.2018
16:58:35
апишные модели мапятся в локалные по надобности
Что вы делаете, обясните? Нажимаете делете на списке и хотите, чтобы оно удалилось и из ObservableCollection к которой прибинжено?

FinniV
14.06.2018
16:58:37
из за того что хз как передать текущий айтем на VM по клику на кнопку, а не на айтем разрослось число моделей от которых ну очень хотелось бы избавиться

Iván
14.06.2018
16:58:52
сложно понять как сказал сеньор Совалерист, Model должна быть абсолютно без знания о VM

Кита
14.06.2018
16:59:05
Вообще ссылки чилдовой вьюмодели на парента - допустимы. Главное не забывать чистить

Iván
14.06.2018
16:59:08
она может посылать ивент "эй, обновись" ну и всё

Max
14.06.2018
16:59:49
да
и вы не можете получить Item на который нажал пользователь?

причем тут модели и ссылки на VM??

Что такое модель для вас?

Кита
14.06.2018
17:00:43
Если в коллекции вью-модели и сама коллекция во вью-модели, то можно передать в каждый айтем коллекции ссылку на парента.

FinniV
14.06.2018
17:01:14
Клик По кнопке в айтеме - хз как иначе вытянуть кроме ссылок Клик по айтему - легко вытянуть айтем через байнд ItemSelected

Что такое модель для вас?
Представление данных, не?

User и т.д.

Страница 422 из 619