Tôi có một ứng dụng cho phép người dùng gửi tin nhắn cho mỗi người. Quá trình này được thực hiện bằng cách lưu các thư đã gửi trong một cơ sở dữ liệu SQLite cục bộ, trong khi thực sự gửi các thông báo tới một cơ sở dữ liệu và sử dụng các thông báo đẩy để gửi thông báo tới cơ sở dữ liệu SQLite của người nhận. Việc thiết lập tôi đã làm việc tốt. Tuy nhiên, những gì tôi đang nhầm lẫn là làm thế nào để thiết lập giao diện người dùng tương tác thực tế cho người dùng (Tôi đang sử dụng XCode
). Tôi nghĩ rằng nó phải là một UITableView
với mỗi tế bào bảng đại diện cho một tin nhắn. Tuy nhiên, với cách tiếp cận này, tôi chạy vào một vài yêu cầu:
Biến TextView kích cỡ
Cũng như với iOS
tin nhắn thông thường, kích thước của TextView
cần phải được thay đổi, điều chỉnh kích thước của nó để phù hợp với tất cả các văn bản trong mỗi tin nhắn . Tôi không biết làm thế nào để đạt được điều này. Tôi có một sự hiểu biết chung về cách nói chung là các kích thước khác nhau, nhưng không có đầu mối làm thế nào để tự động dựa trên văn bản trong chế độ xem đó.
Positions TextView Biến
Một lần nữa, cũng như với iOS
tin nhắn thông thường, các TextView cần phải được bù đắp cho một trong hai bên phải hoặc bên trái tùy thuộc vào việc người gửi là người sử dụng hoặc người đang trò chuyện với, tương ứng. Tôi cũng không biết làm thế nào để làm điều này, bởi vì nó thay đổi trung tâm của textview.
Không thể chọn
Xcode cho phép các ô được nhấn. Việc xử lý những gì xảy ra sau khi lựa chọn này có thể đạt được bằng hàm tableView didSelectRowatIndexPath
. Tôi chỉ đơn giản là không thể thực hiện điều này, nhưng việc nhấp vào ô khiến cho nó chuyển sang màu tối hơn để cho biết nó đã được nhấn. Tôi muốn loại bỏ điều này trong khi giữ lại khả năng, nói, chọn một số văn bản và sao chép và dán nó hoặc bất cứ điều gì (giống như tin nhắn hoạt động bình thường trên điện thoại của bạn).
Các phương pháp tiếp cận khác?
Đây là loại thịt thực sự của câu hỏi. Tôi đã xem xét cách tiếp cận trên bởi vì đó là tất cả những gì tôi có thể nghĩ ra dựa trên kinh nghiệm hạn chế của tôi với các yếu tố giao diện người dùng XCode
. Nếu có một cách tiếp cận tốt hơn (có lẽ ngay cả một nhóm hoặc khuôn khổ) cho mục đích này, tôi rất thích nghe nó. Tôi không cần giao diện người dùng nhắn tin để xem tuyệt vời, chỉ cần sạch sẽ và sắc nét.Giao diện người dùng thích hợp được thiết lập cho chức năng nhắn tin là gì?
Trả lời
Tôi đề nghị như sau:
Biến TextView kích cỡ:
tôi giả sử bạn sử dụng bố trí tự động. Nếu bạn chưa làm, hãy cân nhắc sử dụng nó vì nó giúp cuộc sống trở nên dễ dàng hơn nhiều!
Nếu bạn sử dụng UITableView
, bạn có thể điều chỉnh chiều cao của UITableViewCells
động, tùy thuộc vào nội dung thực tế bằng cách sử dụng các ô tự định kích thước. Bạn có thể tìm hướng dẫn cách thực hiện điều này here.
Vị trí TextView biến:
Tôi giả sử bạn có một số UITextView
trong ô xem bảng. Trong trường hợp này, bạn phải đặt ràng buộc bố cục tự động thành đường viền của ô contentView
của ô. Nếu bạn xác định một lớp con tùy chỉnh của UITableViewCell
, bạn có thể xác định trong thuộc tính lớp này là IBOutlet
được liên kết để nói ràng buộc bên trái và bố cục đúng (ví dụ: var leftLayoutConstraint: NSLayoutConstraint
). Sau đó, bạn có thể đặt thuộc tính constant
của ràng buộc theo yêu cầu khi ô được đặt, ví dụ: trong chức năng layoutSubviews
của ô xem bảng tùy chỉnh. Không thể chọn:
Tôi không chắc chắn ý của bạn là gì „Tôi chỉ đơn giản là không thực hiện được điều này". Vui lòng đảm bảo rằng bạn đặt thuộc tính delegate
của UITableView
thành bộ điều khiển chế độ xem nơi bạn muốn xử lý lựa chọn ô. Việc chọn ô sẽ thay đổi màu ô theo mặc định, nhưng bạn có thể thay đổi điều này: Trong bảng phân cảnh, chọn ô mẫu của chế độ xem bảng và mở ngăn tiện ích của Xcode (nút trên cùng bên phải). Trong „ô xem bảng“ bạn tìm thấy „Lựa chọn“ mà bạn có thể đặt thành „Không“.
Tôi hy vọng điều này sẽ hữu ích!
- 1. Giao diện người dùng dựa trên lập trình chức năng
- 2. 'Người dùng đang nhập chức năng của một tin nhắn' ...?
- 3. Khả năng tương thích giao diện người dùng trên tất cả các thiết bị BlackBerry
- 4. 'Giao diện người dùng phong phú' có nghĩa là gì?
- 5. Khi nào là giao diện người dùng kẹo mắt thích hợp trong một ứng dụng web?
- 6. Thiết kế giao diện người dùng Android
- 7. Giao diện người dùng UIPickerView và sự cố chức năng trong thiết bị iPhone 6s cộng
- 8. Cài đặt thích hợp cho ZMQ khi gửi tin nhắn 500K 64 byte là gì?
- 9. Bằng văn bản cho giao diện điều khiển đầu ra của Giao diện người dùng Giao diện người dùng Android
- 10. Trường hợp sử dụng cho Phân đoạn không có giao diện người dùng là gì?
- 11. Thiết kế giao diện người dùng với GWT
- 12. Trạng thái giao diện người dùng là gì?
- 13. Thiết kế giao diện người dùng ứng dụng doanh nghiệp
- 14. Sách/tài liệu thiết kế giao diện người dùng dành cho các lập trình viên
- 15. Làm cách nào để giữ logic ứng dụng tách biệt với giao diện người dùng khi các thành phần giao diện người dùng có chức năng tích hợp?
- 16. Lỗi giao diện người dùng Jquery - f.getClientRects không phải là chức năng
- 17. Giao diện người dùng jQuery: LoạiError: $ (...). Accordion không phải là chức năng
- 18. Khả năng tương thích ngược cho Giao diện người dùng Angular Bootstrap 0.14.0
- 19. API REST - Giao diện người dùng ALPS (Giao diện người dùng chuyển đổi tương tự)
- 20. Sử dụng giao diện người dùng và chức năng của Guava 10 với GWT 2.4.0
- 21. Chạy thử nghiệm tích hợp/chấp nhận trên giao diện người dùng. Cần một API cho giao diện người dùng để cho Rails biết trạng thái cơ sở dữ liệu nào được thiết lập cho từng thử nghiệm
- 22. Trình tạo giao diện (Trình thiết kế giao diện người dùng) dành cho Android
- 23. API giao diện người dùng cho libgdx
- 24. Công cụ thiết kế giao diện người dùng Android
- 25. Xóa giao diện người dùng hợp kim khỏi Liferay
- 26. Mẫu thiết kế để đóng gói chức năng chung giữa các điều khiển giao diện người dùng
- 27. Giao diện người dùng jQuery $ (...) có thể sắp xếp không phải là một chức năng với WebPack
- 28. Kết hợp Quartz.Net với giao diện người dùng
- 29. Giao diện người dùng được lưu trữ trên Cognito
- 30. Thiết kế học tập cho giao diện người dùng và thiết kế trang web
bạn có thể sử dụng 'JSQMessagesViewController', mặc dù thư viện chính được khai báo là DEPRECEATED nhưng cộng đồng thực sự lớn đang sử dụng nó. https://github.com/jessesquires/JSQMessagesViewController –
@RatulSharker Bạn có thể sử dụng mã không dùng nữa trong ứng dụng cửa hàng ứng dụng không? –
chỉ bị nhà xuất bản nguồn không còn sử dụng nữa, không có mã SDK táo nào cả. để nó có thể được sử dụng mà không có bất kỳ vấn đề từ chối cửa hàng ứng dụng nào. –