我正在使用monotouch-element-pack中的 MonoTouch SimpleMultilineEntryElement (最初只是 MultilineEntryElement),当我点击以在现有文本中插入某处时,我可以插入一个字符,然后插入点跳到字符串的末尾。我已经检查了示例应用程序并且行为是相同的,所以它似乎是库中的某些东西,而不是我做错了。有没有其他人遇到过这个问题并解决了?
问问题
127 次
2 回答
2
在 SimpleMultilineEntryElement 中将 FetchValue 更改为以下内容,基本上发生的情况是文本中的当前位置正在丢失,每次修改文本都会将您带到文本的末尾。
使用以下代码,您可以在开头保存文本中的当前位置,并在结尾处重新定位光标。
public void FetchValue() {
if (entry == null) {
return;
}
int currentPos = entry.SelectedRange.Location;
var newValue = entry.Text;
if (newValue == Value) {
return;
}
Value = newValue;
if (Changed != null) {
Changed(this, EventArgs.Empty);
}
if (currentPos > 0) {
NSRange newPos = new NSRange(currentPos, 0);
entry.SelectedRange = newPos;
}
}
于 2012-11-15T09:44:12.090 回答
0
不是 100% 确定这是否是问题,或者是否可能是问题。但我认为 entryKey 和 cellkey 对于特定元素必须是唯一的。两者都设置为 MultilineEntryElement 而不是 SimpleMultilineEntryElement。
正在考虑如果您以前使用过 MultilineEntryElement,它可能会在 GetCell 中出列。
var cell = tv.DequeueReusableCell (CellKey);
也许...
于 2012-11-15T05:49:26.647 回答