2016-06-26 2 views
-2

문자열을 찾기 위해 문자열 배열을 통과하는 루프가 있습니다. 문자열 "aText"내에서 빨간색으로 강조 표시하려는 변수 "searchText"가 있습니다.검색어 Swift 2에 대한 문자열 속성 설정

for var i = 0; i < aArray?.count; i += 1 { 

     if aArray![i].rangeOfString(searchText) != nil && counter != 100{ 
      counter += 1 
      var aText = aArray![i] 
      var bText = "Example text B" 
      var results = "\(aText) \n \(bText)" 

      resultText.text = (resultText.text + "\n" + results) 

    } 

} 

저는 NSMutableAttributedString을 사용했지만 사용하지 않았습니다. 나는 스위프트에서 아주 새로운데 많은 방법을 시도했다. 주요 문제 중 하나는 그것이 루프에 있고 내 UITextView을 여러 번 업데이트하기 때문에 생각합니다.

도움이 될 것입니다.

+0

"NSMutableAttributedString을 사용했지만 아무 쓸모가 없었습니다"그런 다음 잘못 사용합니다. 빨간색으로 강조 표시하는 방법입니다. 귀하의 코드는 귀속 문자열을 사용하지 않으므로 귀하가 시도한 것을 누가 추측 할 수 있습니까? – matt

+0

NSMutableAttributedString을 사용하면 결과 텍스트에 하나의 결과 만 표시됩니다. resultText.attributedText = mutableStringA + mutableStringB와 같은 속성이있는 문자열에 결합 할 수 있는지 확실하지 않습니다. – yousuf12

답변

0
//inside Loop 

if aArray![i] == "searchText" { 
    var searchString:NSString = "The Result is "+aArray![i] 
    let count = aArray![i].length 
    var myMutableString = NSMutableAttributedString(string: searchString.description) 
    myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blackColor(), range:NSRange(location: 0, length: 14))// i calculated manually . 
    myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range:NSRange(location: 14, length: searchString.length)) 

} 
+0

let count = aArray! [i] .length 에서 오류가 발생합니다. 이제 어떻게 이것을 구현할 것인가? 내 텍스트 필드는 단 하나가 아닌 모든 결과를 보여줍니다. – yousuf12