EurekaCommunity / SplitRow

A row for Eureka to put two rows side by side into the same UITableViewCell
MIT License
56 stars 27 forks source link

TextRow (when used in SplitRow) is not able to render Korean string correctly #38

Open karansota opened 5 years ago

karansota commented 5 years ago

SplitRow<TextRow, LocationRow> { $0.rowLeftPercentage = 0.65 $0.rowLeft = TextRow("locationText") { $0.placeholder = placeholder if let name = value?.name { $0.value = name } if isDisabled { $0.disabled = true } } $0.rowRight = LocationRow("locationLookup") { $0.shouldDisplayValue = false $0.title = title if let value = value { $0.value = value } else { $0.value = Place(address: nil, coordinates: nil, name: nil) } if isDisabled { $0.disabled = true } } }

Actual String when user types into the TextRow: 시ㅇ Expected String: 설 (above characters should build this string)

Screen Shot 2019-09-17 at 10 29 41 PM
karansota commented 5 years ago

TextRow when used by itself has no issues.

marbetschar commented 5 years ago

@karansota wow, nice catch! I wasn't even aware of the fact, that input character conversion exists at all! :) - altough it makes perfectly sense if you think about it.

My buest guess as of now is that there is some sort of conversion-triggered-re-rendering of the underlying UITextField which gets lost somewhere on its way. Will need some time figure out what exactly causes this unexpected behaviour.

Any chance you can confirm the same (wrong) behaviour for the TextAreaRow?

marbetschar commented 4 years ago

@mats-claassen do you have any experience with this? I don't know how UITextField works under the hood to render Asian text where the user input is not the actual rendered text.

Maybe you have some tips on where to start and/or why this basically works in TextRow, but only if it is not embedded in a SplitRow?

mats-claassen commented 4 years ago

@mats-claassen do you have any experience with this? I don't know how UITextField works under the hood to render Asian text where the user input is not the actual rendered text.

No, I haven't. My suggestion would be to see what SplitRows does that might change how a TextRow works inside. Maybe it has to do with #39 but that is only a wild guess

yk4to commented 4 years ago

The same problem occurred when I typed in Japanese. The suggestion appears above the keyboard when using TextRow by itself, but not in the TextRow in SplitRow. (I think this problem is as inconvenience as I can only enter uppercase letters when I want to enter the alphabet, to me.) Is there a solution? IMG_5913 (1) IMG_5914 (1)