- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đã viết một phương pháp thực hiện điều này bằng cách gửi nó NSString
để đánh dấu các từ trong một đoạn văn, nó hoạt động tốt cho đến khi tôi gặp phải tình huống này:
Khi tôi có văn bản này:
Mẹ của chúng đã thử mặc cho chúng những bộ đồ khác...
khi tôi chuyển lời other
Khi nào, từ "mother
” được đánh dấu khi tôi vượt qua TRONG
Điều tương tự khi tôi nhận được "trang phụcTRONG
g".
Đây là mã của tôi:
-(void)setTextHighlited(NSString *)txt{
NSMutableAttributionString * string = [[NSMutableAttributionString alloc]initWithString:self.textLabel.text];
for (NSString *word in [self.textLabel.text ComponentsSeparatedByString:@" "]) {
if ([word hasPrefix:txt]) {
Phạm vi NSRange=[self.textLabel.text rangeOfString:word];
[chuỗi addAttribution:NSForegroundColorAttributionName value:[UIColor blueColor] range:range];
}
Tôi đã thử sử dụng phạm viOfString:tùy chọn:Với tất cả các tùy chọn nhưng vẫn cùng một vấn đề.
Xin hãy cho tôi một lời khuyên
Ghi chú: Đây là nguồn mã của tôi
câu trả lời hay nhất
问题是
Phạm vi NSRange=[self.textLabel.text rangeOfString:word];
Tìm từ trong văn bảnĐầu tiên Xuất hiện. Một lựa chọn tốt hơn là liệt kê văn bản theo từng từ:
-(void)setTextHighlited(NSString *)txt{
NSString *text = self.textLabel.text;
NSMutableAttributionString *string = [[NSMutableAttributionString alloc]initWithString:text];
[text enumerateSubstringsInRange:NSMakeRange(0, [độ dài văn bản])
tùy chọn:NSStringEnumerationByWords sử dụngBlock:^(NSString *chuỗi con, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
if ([chuỗi con isEqualToString:txt]) {
[chuỗi addAttribution:NSForegroundColorAttributionName value:[UIColor blueColor] phạm vi:substringRange];
}
}];
self.textLabel.attributedText = chuỗi;
}
Phương pháp này còn có nhiều ưu điểm như có thể tìm được cả những từ được đặt trong dấu ngoặc kép hoặc được bao quanh bởi dấu chấm câu.
Về ios - NSRange, việc tìm một từ trong đoạn văn nhận kết quả sai, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20260381/
Nếu trường hợp 1: range1 là (5,10) và range2 là (8,0) thì nó sẽ trả về true. Trường hợp 2: range1 là (5,10) và range2 là (5,4) nó sẽ trả về true
Mã ví dụ: import XCTest func == (lhs: NSRange, rhs: NSRange) -> Bool { return lhs.location == rhs.lo
Tôi đang cố gắng triển khai liên kết Easy Game Center nhưng tôi gặp lỗi này: Không thể chuyển đổi giá trị của loại 'NSRange' (còn gọi là 'NSRange') thành exp
Tôi đang cố gắng tìm NSRange của nhiều chuỗi trong một chuỗi. Trong đoạn mã bên dưới, tôi sử dụng phương thức String.range(of: String, options: , Range) để tìm Phạm vi và chuyển đổi thành N
Tôi gặp sự cố khi sử dụng NSRange. Đây là mã của tôi: NSRange range = [[[NSHTTPCookie requestHeaderFieldsWithCookies:[[NSHTTPCo
Tôi đã xem một video về lập trình ios7 và thấy đoạn mã sau. Tôi thực sự không thể hiểu phạm vi biến đổi hoạt động như thế nào ở đây. Chúng tôi tạo một phạm vi biến NSrange và không bao giờ gán giá trị cho nó, vì vậy tôi nghĩ con trỏ &range sẽ trả về
Tôi gặp sự cố với NSRange khiến ứng dụng của tôi gặp sự cố khi chế độ xem văn bản trống. Tôi đang sử dụng bàn phím tùy chỉnh có phím xóa lùi và nó gọi mã này ở đây... if ([self.myChart isFirst
Tôi đang phát triển một ứng dụng chấp nhận đầu vào bằng ngôn ngữ có tên là "Tamil". Vì vậy, để tìm phạm vi của bất kỳ ký tự cụ thể nào trong một chuỗi, tôi đã sử dụng đoạn mã sau. phạm vi var = originalWord.rangeOfStrin
Tôi có hành vi NSRange lạ trên thiết bị của mình (iPhone iOS 4.3). Mã này hoạt động khác nhau trên các thiết bị và trình mô phỏng. cho (Vị trí *vị trí trong locationArray)
Tôi đã viết một phương pháp để tìm kiếm một người trong sổ địa chỉ và tôi muốn tìm "john bigs" ngay cả khi tôi gọi phương thức đó là [someAdressBook searchName:@"joh"];. gặp rắc rối với tên một phần
Tôi đã viết một phương pháp làm nổi bật một từ trong đoạn văn bằng cách gửi cho nó một NSString của từ đó và nó hoạt động tốt cho đến khi tôi gặp phải tình huống này: Khi tôi có tin nhắn này: Mẹ của họ đã thử mặc quần áo
Tôi đang gặp phải hiệu ứng kỳ lạ này khi gọi vị trí trên rangeOfString trả về một giá trị rất lớn trong khi lẽ ra không nên... Mã của tôi là: NSRange range = [string range
Câu hỏi này đã có câu trả lời ở đây: NSMakeRange(i, 1) nghĩa là gì? (2 câu trả lời) Đã đóng 6 năm trước. Tôi đang sử dụng NSRange với các chuỗi được phân bổ nhưng tôi không hiểu đầy đủ văn bản ở đâu
Biến NSRange có thể chứa nhiều phạm vi không? Đại loại như thế này: var multipleRanges: NSRange = [NSMakeRange(0, 2), NSMakeRange(10, 1),
Tôi có một chuỗi: Anh ấy đã nói "xin chào bạn" ngày hôm qua. Tôi muốn lấy NSRange từ trích dẫn đầu tiên đến trích dẫn cuối cùng. Vì vậy tôi đã thử một cái gì đó như thế này: NSRange openRang
Tôi đang cố gắng tạo một NSRange hợp lệ, có vẻ như nó không phức tạp đến mức này, vì vậy tôi đoán là tôi đang sử dụng sai phương pháp. Đây là những gì tôi đang cố gắng thực hiện: Tôi có một chuỗi chứa một số ký tự unicode: "B nhanh
Tôi có một phương thức trả về NSRange. Khi tôi gọi phương thức này từ bên ngoài lớp, tôi gặp lỗi biên dịch. NSRange tmpRange = [cụm từ rangeInString:searchStr
Tôi có một chuỗi lớn được trả về từ http GET và tôi đang cố gắng xác định xem nó có một đoạn văn bản cụ thể hay không (xin vui lòng bỏ qua lỗi của tôi) Câu hỏi của tôi là: tôi có thể/có nên sử dụng NSRange để xác định xem đoạn văn bản này có tồn tại không? NSRangete
Đây là mã của tôi: Regex.enumerateMatchesInString(parsingMemo.string, options: NSMatchingOptions(rawValue: 0),
Đây là mã của tôi: Tôi đang cố định dạng văn bản của mình bằng NSMutableAttributionString() nhưng dường như nó luôn nằm ngoài phạm vi. Chấm dứt ứng dụng do ngoại lệ chưa được phát hiện
Tôi là một lập trình viên xuất sắc, rất giỏi!