2017-03-25 8 views
0

때때로 iosMath에서 MTMathUILabel을 사용하기 때문에 수식을 포함 할 수있는 텍스트를 표시하려고합니다. 나는 레이블을 동적으로 생성하고 db에서 문자열을 끌어 와서 스택에 추가합니다. 문제는 수학이 아닌 모든 텍스트가 공백없이 나타납니다. 예 : DB에 :스위프트 3 : 모든 공백을 제거하는 iosMath 레이블

여기

내가 지금까지 시도한 것입니다 (여기 수학) : 라벨에 (여기 수학) : Solvethefollowingequation 다음 방정식을 해결

for question in all_questions { 
    let finalString = question.question?.replacingOccurrences(of: " ", with: "\\space", options: .literal, range: nil) 

    let label = MTMathUILabel() 
    label.textColor = UIColor.black 
    label.latex = finalString 
    stack.addArrangedSubview(label) 
} 

그러나 문제는이다 말 그대로 두 개를 배치합니다. 그리고 xcode는 이스케이프 처리되지 않기 때문에 하나만 쓰도록 허락하지 않습니다. 그러나 그냥 쓰는 경우

print("\\space") 

그러면 하나만 인쇄됩니다.

어떻게하면 하나만 추가 할 수 있습니까? \? 이 일을 할 수 없다면, 내가 원하는 것을 어떻게 얻을 수 있습니까? 거기에 더 좋은 도서관이 있습니까?

+0

인가를 : 중괄호 내부 공간은, 그것은 또는 당신이 원하는하지 않을 수 있습니다 공백을 대체 한 후 문자열의 이중 백 슬래시? 또는 finalString 변수에서 (어떻게 나타 났는지 표시하지 않았다면)? 또는 표시된 레이블에 있습니까? 질문 문자열이 일반 텍스트가 아닌 LaTeX에서 올바르게 형식화되어 있으면 공백을 벗어날 필요가 없습니다. 문제가 발생하는 위치를보다 정확하게 제공하십시오. –

+0

나쁜, 문자열 및 finalString 같은 변수가 있어야합니다. 당신이 무엇을 요구하고 있는지 확실하지 않습니다. 문자열의 형식이 제대로 지정되어 json 개체에서 가져온 다음 레이블에 표시하려고하지만 간단한 인쇄를 할 때 @AlainT 공백이 있으면 텍스트가 공백없이 나타납니다. – Filipe

답변

0

MTMathUILabel의 doc 및 LaTeX 규칙을 간략히 살펴본 후 공백을 물결표 문자 "~"로 바꾸어야한다고 생각합니다. 이렇게하면 줄 바꿈하지 않는 공백이 생기고 백 슬래시 문제 (MTMathUILabel이 인식하지 못하는 \ space가 원인 일 수 있음)를 피할 수 있습니다.

수식 자체에 정당한 공백이 있으면 모든 공백을 체계적으로 바꾸면 바람직하지 않은 결과가 발생할 수 있습니다.

예를 들어, 이차 방정식으로 표현 될 수있는 바와 같이 :

X = \ FRAC {-b \의 오후 \의 SQRT}^2-4ac {B}를 교체 끝날

{2A}

X ~ = ~ \ FRAC {-b ~ 오후 ~ \ SQRT \ {B^2-4ac}} {(2A)}

+0

나는 그것을 시도해보고 작동하는지 여부를 알려 줄 것입니다. – Filipe

+0

불행히도 이것은 작동하지 않습니다 : /. MTMathUILabel의 일반 텍스트는 공백없이 계속 표시됩니다. – Filipe

+0

@Filipe 아직 해결책을 얻었습니까? – Nitesh