2015-05-03 19 views
0

我有UITextView。它包含一些數學公式。 例如,「在三角形ABC邊AB = 5」。 有時UITextView在「=」之後斷行。它變成這樣UITextView不要在這裏插入換行符

在三角形ABC邊AB =

但我想 「AB = 5」 要在一起總是:

在三角形ABC邊

AB = 5

我該怎麼辦?我不想刪除像「AB = 5」這樣的空格。謝謝。

+0

你可以進入更多的細節?如果可能的話,「AB = 5」與前面的文本位於同一行可以嗎? –

+0

是的,沒關係。我希望「AB = 5」永遠在一起。 –

+1

在您不希望包裝的地方使用非中斷空格而不是常規空格。 – rmaddy

回答

2

如果我明白你的問題吧,你正在尋找\n換行符:

NSLog(@"In triangle ABC side\nAB = 5") 

好了,因爲我明白你的意圖更好,也許這可能是一個解決方案或解決方案開始:

- (NSString *) makeStringNonWrappable : (NSString *) string 
{ 
    NSMutableString *myString = [NSMutableString stringWithString:string]; 
    NSRange rangeValue = [myString rangeOfString:@" = " options:NSCaseInsensitiveSearch]; 
    if (rangeValue.length > 0){ 
     NSLog(@"string contains = %d %d", rangeValue.location, rangeValue.length); 
     NSString *nonbreakingspace = @"\u00A0"; 
     NSString * replacementString = [NSString stringWithFormat:@"%@=%@", nonbreakingspace, nonbreakingspace]; 
     [myString replaceCharactersInRange:rangeValue withString:replacementString]; 

     NSLog(@"%@", myString); 
     return myString; 
    } 
    else { 
     NSLog(@"string does not contain = !"); 
     return string; 
    } 
} 

基本上,我在您的字符串中找到=出現,並將其替換爲看起來完全相同但由UITextView不同處理的字符串。空間不再作爲空間處理。請注意,我沒有編譯代碼,可能有一些錯別字。

+1

我想他想要一個更一般的解決方案:永遠不要在「名稱與分配」之間劃分界限。 – luk2302

+0

luk2302是對的。 –

+1

請嘗試新的解決方案 – aytunch