Làm cách nào để thêm nút rõ ràng (gạch chéo trong vòng tròn) cho chế độ xem văn bản như trong trường văn bản?Nút xóa trên UITextView
Trả lời
chỉ cần tạo một uibutton và đặt nó lên uitextview và đặt hành động của nó để xem văn bản rõ ràng;
uitextview.frame = (0,0,320,416);
uibutton.frame = (310,0,10,10);
[uibutton setimage:@"cross.png" forcontrolstate:uicontrolstatenoraml];
[uibutton addTarget:self action:@selector(clearButtonSelected:) forControlEvents:UIControlEventTouchUpInside];
-(void)clearButtonSelected{
[email protected]"";
}
hy vọng bạn muốn xóa văn bản xem văn bản khi bạn click vào nút chéo trên được giúp nếu không hiểu thì tôi có thể gửi cho bạn chương trình thích hợp cho điều đó
Không có gì được tích hợp sẵn như trong UITextField. Bạn sẽ phải tự thêm khung nhìn (có thể là UIButton) và đặt nó chính xác và bằng cách nào đó, lấy văn bản để quấn quanh nó một cách chính xác. (Và tôi không nghĩ rằng điều này thực sự có thể.)
Có thể thay vào đó bạn nên hiển thị thanh công cụ phía trên bàn phím (hoặc inputAccessoryView
nếu bạn đang nhắm mục tiêu 3.2 trở lên) cung cấp nút rõ ràng.
Đối với tôi thay đổi .frame hoặc .contentInset properties không hoạt động.
Đối với tôi kết quả tốt nhất đến từ:
1) thêm một UIView với bộ điều khiển, cung cấp cho nó góc tròn và một biên giới để bắt chước một UITextView.
self.viewTextBackground.layer.borderColor = [UIColor colorWithRed:171/255.0 green:171/255.0 blue:171/255.0 alpha:1.0].CGColor;
self.viewTextBackground.layer.borderWidth = 1.0f;
self.viewTextBackground.layer.cornerRadius = 9.0f;
2) đặt UITextXem trên đầu trang của UIView này. Đặt nó sao cho đường viền của UIView cơ bản vẫn hiển thị.
3) cung cấp cho các góc tròn UITextView:
self.textNote.layer.cornerRadius = 9.0f;
3) Hãy chiều rộng fe của nó. 30 pixel so với UIView cơ bản. Bây giờ bạn có không gian cho một nút rõ ràng.
4) chỉ cần thêm UIButton vào bộ điều khiển của bạn và đặt nó ở góc trên cùng bên phải của UIView cơ bản.
5) thay đổi thuộc tính của nút: đặt loại thuộc tính thành 'tùy chỉnh' và đặt hình ảnh thành hình ảnh của một hình chữ thập màu xám.
6) ràng buộc một hành động để nút te xóa UITextView
Dựa trên câu trả lời từ GhostRider một chính xác hơn và lên đến thi date:
int kClearButtonWidth = 15;
int kClearButtonHeight = kClearButtonWidth;
//add the clear button
self.clearButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.clearButton setImage:[UIImage imageNamed:@"UITextFieldClearButton.png"] forState:UIControlStateNormal];
[self.clearButton setImage:[UIImage imageNamed:@"UITextFieldClearButtonPressed.png"] forState:UIControlStateHighlighted];
self.clearButton.frame = CGRectMake(0, 0, kClearButtonWidth, kClearButtonHeight);
self.clearButton.center = CGPointMake(self.textView.frame.size.width - kClearButtonWidth , kClearButtonHeight);
[self.clearButton addTarget:self action:@selector(clearTextView:) forControlEvents:UIControlEventTouchUpInside];
[self.textView addSubview:self.clearButton];
Và phương pháp
- (void)clearTextView:(id)sender{
self.textView.text = @"";
}
Bạn có thể sử dụng hình ảnh này cho hai trạng thái của nút:
Một câu trả lời hoàn hảo, nhưng với sự nhấn mạnh của XCode 6 về việc sử dụng AutoLayout, tôi đã phải từ bỏ việc tạo nút lập trình, vì bạn phải thêm Ràng buộc để đảm bảo nó xuất hiện ở đúng vị trí. Cuối cùng, tôi đã thêm một UIButton trực tiếp vào bảng phân cảnh và thay vào đó thêm các ràng buộc. (Sigh ...) –
Từ góc độ sản phẩm, nếu bạn đang đi để có một nút rõ ràng, bạn có thể muốn sử dụng một UITextField
thay vì một UITextView
và UITextField
hỗ trợ một nút rõ ràng natively - thiết lập các clearButtonMode
tài sản như vậy:
UITextField *textfield = ...;
textfield.clearButtonMode = UITextFieldViewModeAlways;
Xem ảnh chụp màn hình:
Bạn có thể sử dụng UITextFieldViewModeWhileEditing
để chỉ hiển thị nút rõ ràng trong khi người dùng đang chủ động cập nhật nội dung.
Cảm ơn! Chính xác những gì tôi cần. – ninjudd
(Sigh.) Câu hỏi đặt ra là làm thế nào để thêm một nút Clear vào một UITextView (không phải là UITextField) ... và DOESN'T không có hàm thành viên ClearButtonMode ... !! –
@Mike Gledhill, vừa cập nhật câu trả lời để giải quyết nhận xét của bạn, tôi nghĩ rằng có điều gì đó như xóa 'UITextView', bạn nên tắt bằng nút rõ ràng (tức là 'UIButton'). Tôi chỉ không thấy một nút X rõ ràng sẽ hoạt động như thế nào với chế độ xem văn bản nhiều dòng. – Zorayr
- 1. Tuỳ chỉnh bàn phím iphone, có vấn đề với nút xóa lùi trong UITextView
- 2. Xóa đường chấm chấm trên nút
- 3. UITextView với nút "Xong" * và * Phím "Trả về"?
- 4. Làm thế nào để làm cho UITextView "Done" nút resignFirstResponder?
- 5. Lấy văn bản được chọn trên UITextView
- 6. Nhận vị trí con trỏ trong UITextView trên iPhone?
- 7. CSS: Xóa bóng trên các nút HTML bị tắt
- 8. Javascript để xóa trường biểu mẫu trên nút bấm
- 9. Xóa lựa chọn thả xuống trên nút radio nhấp
- 10. xóa nút cha không có nút con
- 11. Nút xóa Android động
- 12. Cách xóa nút khỏi HighCharts
- 13. Xóa ký tự bằng nút
- 14. Nút xóa điều kiện CGridview
- 15. Thêm hình ảnh vào UITextView
- 16. Làm cách nào để chặn báo chí dài trên UITextView?
- 17. iOS: Chọn thông qua UITextView trên UITableViewCell tùy chỉnh
- 18. Làm mới vị trí cuộn của UITextView trên iPhone
- 19. Chế độ xem đầu vào của UITextView trên iOS 7
- 20. Thay đổi kích thước văn bản thành Fit trên UITextView
- 21. UITextView không hiển thị InputAccessoryView trên nhấp chuột đầu tiên
- 22. Phát hiện thay đổi lựa chọn trên UITextView?
- 23. Biên độ kỳ lạ của UITextView trên đầu trang?
- 24. Cách xóa nút thu phóng trên chế độ xem web trên Android?
- 25. tạo nút xóa tùy chỉnh cho uitableview
- 26. Làm thế nào để xóa văn bản trước đó trong UITextView trước khi viết văn bản?
- 27. Xóa nút theo ID trong jstree khi nhấn nút
- 28. xóa nút cụ thể trong xml
- 29. Nút xóa tùy chỉnh trong jqGrid
- 30. Simple UITextView crashing
Tôi đang làm điều đó thông qua XCODE. Tôi nên làm gì trong trường hợp này? – Abhinav