Mam ciąg pochodzący z serwera, który wyświetlam na multiligne UILabel. Jest w tym ciągu, identyfikuję jakiś konkretny podciąg. Chcę umieścić przycisk na tym podciągu (przycisk będzie wyodrębnieniem z UILabel). Do tego potrzebuję współrzędnych podłańcucha. Przeszedłem przez to, ale nie jestem w stanie tego zrozumieć. Załóżmy, że mój kompletny ciąg to abc, 567-324-6554, Nowy Jork. Chcę, aby 567-324-6554 był wyświetlany na przycisku, dla którego potrzebuję jego współrzędnych. Jak mogę użyć powyższego linku, aby znaleźć współrzędne podłańcucha? Dzięki,znajdź lokalizację {x, y} tekstu w uilabel
6
A
Odpowiedz
7
UILabel
nie ma żadnych metod do tego. Możesz to zrobić za pomocą UITextView
, ponieważ implementuje on UITextInput
protocol. Będziesz chciał ustawić właściwość widoku tekstu editable
na NO
.
Coś w tym kodzie nietestowanego powinno działać:
- (CGRect)rectInTextView:(UITextView *)textView stringRange:(CFRange)stringRange {
UITextPosition *begin = [textView positionFromPosition:textView.beginningOfDocument offset:stringRange.location];
UITextPosition *end = [textView positionFromPosition:begin offset:stringRange.length];
UITextRange *textRange = [textView textRangeFromPosition:begin toPosition:end];
return [textView firstRectForRange:textRange];
}
To powinien zwrócić CGRect
(w tekście zobaczyć na układ współrzędnych), który obejmuje podciąg określony przez stringRange
. Możesz ustawić ramkę przycisku do tego prostokąta, jeśli zrobisz przycisk w widoku podrzędnym widoku tekstowego.
Jeśli podciągnie obejmuje wiele linii, prostokąt obejmie tylko pierwszą linię.
Powiązane problemy
- 1. Jak znaleźć x, y lokalizację tekstu w pdf
- 2. Ustawienia UILabel x, y są skoordynowane programowo
- 3. Znajdź lokalizację komponentu wahadłowego
- 4. Znajdź X/Y elementu HTML z JavaScript
- 5. Dziwactwo rubowe: x == y && [x, y] .uniq == [x, y]
- 6. x, y = getPos() vs. (x, y) = getPos()
- 7. znajdź najbliższą lokalizację od oryginalnego punktu
- 8. Wyrównanie tekstu UILabel w prawo
- 9. UILabel widoczna część tekstu
- 10. Uzyskiwanie fizycznej lokalizacji tekstu w UILabel
- 11. Znajdź dyskretne Para {x, y}, które spełniają nierówność Constriants
- 12. Kombinacje trzech liczb dodatnich x, y, z tak, że x + y, x-y, y + z, y-z, x + z i x-z są idealnymi kwadratami
- 13. Wyrównanie w pionie tekstu w UILabel
- 14. Kiedy używać std :: hypot `(x, y)` `nad std :: sqrt (x * x + y * y)`
- 15. Jak zrobić pętlę nieskończoną z "x <= y && x > = y && x! = Y"?
- 16. Ustawianie tekstu UILabel na int?
- 17. Dlaczego argumenty atan2 Y, X zamiast X, Y?
- 18. (x: y) operator Julia
- 19. Zmiana rozmiaru UILabel w celu dopasowania tekstu
- 20. Wyświetlanie tekstu na UILabel w formie cyfrowej?
- 21. Dlaczego javac nie akceptuje `x = x +++++ y`?
- 22. AutoLayout multilinalne UILabel odcinające trochę tekstu
- 23. Co oznacza pix [x, y] w Pythonie
- 24. dla x w y(): jak to działa?
- 25. Wykonywanie instrukcji if (x == y) w Brainfuck
- 26. Jak porównać x i y w F #?
- 27. Kompresja `x jeśli x indziej y` oświadczenie w Pythonie
- 28. Dlaczego/Kiedy w Pythonie występuje `x == y` wywołanie` y .__ eq __ (x) `?
- 29. Jaka jest logika dla x, y = y, x aby zamienić wartości w Pythonie?
- 30. znajdź opcję zaznaczenia według tekstu
UILabel jest multiligne – freind