Xamarin.forms: iOS : ContextAction ์ปฌ๋ ‰์…˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ๊ฒฐ๊ตญ ๋ฉˆ์ถค

์— ๋งŒ๋“  2018๋…„ 03์›” 12์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: xamarin/Xamarin.Forms

๊ธฐ์ˆ 

ListView ๋˜๋Š” TableView์—์„œ ContextAction์— ๋Œ€ํ•œ ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด iOS์—์„œ UI๊ฐ€ ๊ธฐํ•˜ ๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„

  1. ์ปจํ…์ŠคํŠธ ์ž‘์—…์œผ๋กœ ViewCell ๋งŒ๋“ค๊ธฐ
  2. ์–ด๋–ค ๋ฐฉ์‹ ์œผ๋กœ๋“  ์ปจํ…์ŠคํŠธ ์ž‘์—…์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค (์ผ๋ฐ˜์ ์œผ๋กœ ViewCell / ViewModel ์ƒํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ).

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘

์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด (iOS์—์„œ ์™ผ์ชฝ์œผ๋กœ ์Šค ์™€์ดํ”„, Android์—์„œ ๊ธธ๊ฒŒ ๋ˆ„๋ฅด๊ธฐ, UWP์—์„œ ์˜ค๋ฅธ์ชฝ ํด๋ฆญ ๋“ฑ)๋Š” UI ์†๋„ ์ €ํ•˜์—†์ด์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฆ‰์‹œ ๋ฐ˜์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

iOS์—์„œ๋Š” ๋ณ€๊ฒฝ ๋  ๋•Œ๋งˆ๋‹ค UI๊ฐ€ ๊ฒฐ๊ตญ ๋ฌด๊ธฐํ•œ ๋ฉˆ์ถœ ๋•Œ๊นŒ์ง€ ์‘๋‹ต ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ •๋ณด

  • ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๋ฒ„์ „ : 2.5.0.280555
  • IDE : Visual Studio 2017
  • ํ”Œ๋žซํผ ๋Œ€์ƒ ํ”„๋ ˆ์ž„ ์›Œํฌ :

    • iOS : 11.8.0.20

  • ๊ธฐ๊ธฐ : iPhone 6 Plus์—์„œ ํ…Œ์ŠคํŠธ ๋จ

๋น„๋””์˜ค

https://github.com/sonic1015/bugRepo/files/1835039/2018-03-12.T16-17-07.zip

๋ณต์ œ ๋งํฌ

https://github.com/sonic1015/bugRepo/archive/1.zip

listview performance 4 help wanted high iOS ๐ŸŽ bug up-for-grabs

๋ชจ๋“  3 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,

๋‚˜๋Š” ๋˜ํ•œ์ด ๋˜‘๊ฐ™์€ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ฌ๋ฆฌ๊ณ  ์žˆ๋Š”๋ฐ, ์–ธ์ œ ์‹ค์ œ๋กœ ์ด๊ฒƒ์„ ์„ ํƒํ• ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์˜ค๋žซ๋™์•ˆ ํ™œ๋™์ด ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋ฌธ์ œ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ •ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์„ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๋„๋ก Xamarin.Forms์˜ ์ตœ์‹  ๋ฒ„์ „์—์„œ ์—ฌ์ „ํžˆ ์˜ํ–ฅ์„ ๋ฐ›๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ๋ณด๋‚ด ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐœํ–‰๋ฌผ. ํ–ฅํ›„ 30 ์ผ ๋™์•ˆ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํ™œ๋™์ด ์—†์œผ๋ฉด์ด ๋ฌธ์ œ๋ฅผ ์ข…๊ฒฐํ•ด์•ผํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ณต์ œ๋ฅผ Xamarin.Forms v4.6.0.867๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฉ”๋‰ด ํ•ญ๋ชฉ ๋ณ€๊ฒฝ ํ›„ ๋ฉ”๋‰ด ๋‹ซ๊ธฐ์— ๋Œ€ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์—†์Šต๋‹ˆ๋‹ค. ์•ฝ 7 ๊ฐœ์˜ ๋ฉ”๋‰ด ํ•ญ๋ชฉ ๋ณ€๊ฒฝ ํ›„ ๋‹ค์Œ ์˜ˆ์™ธ์™€ ํ•จ๊ป˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

System.NullReferenceException: Object reference not set to an instance of an object
  at Xamarin.Forms.Platform.iOS.ContextActionsCell.OnCellPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00012] in D:\a\1\s\Xamarin.Forms.Platform.iOS\ContextActionCell.cs:475 
  at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs(object,System.ComponentModel.PropertyChangedEventArgs)
  at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:229 
  at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:353 
  at Xamarin.Forms.Cell.OnContextActionsChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0002d] in D:\a\1\s\Xamarin.Forms.Core\Cells\Cell.cs:227 
  at (wrapper delegate-invoke) <Module>.invoke_void_object_NotifyCollectionChangedEventArgs(object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)
  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00018] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00009] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.ObservableCollection`1[T].RemoveItem (System.Int32 index) [0x00021] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.Collection`1[T].Remove (T item) [0x00027] in <624bcc4ce53347508a7b8fa821d78da4>:0 
  at bugRepo.CustomViewCell+<>c__DisplayClass0_0.<.ctor>b__1 (System.Object sender, System.EventArgs args) [0x00002] in C:\Users\eballantyne\Downloads\bugRepo-1\bugRepo-1\bugRepo\bugRepo\CustomViewCell.xaml.cs:40 

iPhone 8, iOS 13.4.1์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Android ๋˜๋Š” UWP์—์„œ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰