我有一個應用程序,它允許用戶發送消息給每個。該過程通過將發送的消息保存在本地SQLite數據庫中完成,同時實際將消息發送到數據庫並使用推送通知將消息發送到接收者的SQLite數據庫。設置我有工作正常。然而,我感到困惑的是如何爲用戶設置實際的交互式用戶界面(我正在使用XCode
)。我覺得它應該是一個UITableView
,每個表格單元代表一條消息。然而,用這種方法,我碰到了幾個要求:
可變TextView的尺寸
正如常規iOS
消息,該TextView
的大小必須是可變的,調整其大小,以適合所有文本的每封郵件中。我不知道如何做到這一點。我對如何一般不同的大小有一個大體的瞭解,但不知道如何根據該視圖中的文本動態地獲取它。
可變TextView的位置
同樣,正如常規iOS
消息,TextView的需要偏移到右側或左側取決於寄件人是否是用戶或誰是分別與交談。我也不知道該怎麼做,因爲它改變了textview的中心。
非選擇性
Xcode允許按下單元格。通過didSelectRowatIndexPath
tableView函數可以實現在選擇後發生的情況。我可以簡單地不實現這一點,但點擊單元格會導致它變暗以指示它已被按下。我希望消除這種情況,同時保留選擇某些文本並複製和粘貼它或其他任何內容的能力(就像通常在手機上進行的消息一樣)。
其他方法?
這是問題的真正內容。我已經考慮過上述方法,因爲這是我基於我對XCode
UI元素的有限經驗能夠想出的。如果爲此目的有更好的方法(或許甚至是吊艙或框架),我很樂意聽到它。我不需要消息界面來看驚人,只是乾淨和清脆。什麼是爲消息傳遞功能設置的適當UI?
8
A
回答
2
我建議如下:
可變的TextView尺寸:
我假設你使用自動佈局。如果你還沒有,請考慮使用它,因爲它使生活變得更容易!
如果您使用UITableView
,您可以動態調整其UITableViewCells
的高度,具體取決於使用自行確定尺寸的電池的實際內容。你可以找到一個教程如何做到這一點here。
變量TextView位置:
我假設你在表格視圖單元格中有UITextView
。在這種情況下,您必須將自動佈局約束設置爲單元格contentView
的邊界。如果您定義UITableViewCell
的自定義子類,則可以在此類中定義2 IBOutlet
鏈接的屬性,以說明左側和右側佈局約束(例如var leftLayoutConstraint: NSLayoutConstraint
)。然後,可以在單元格佈局時(即在自定義表格視圖單元格的layoutSubviews
函數中)根據需要設置約束的constant
屬性。
非選擇性:
我不確定你的意思是「我可以簡單地不實施這個」。請確保您將UITableView
的delegate
屬性設置爲您要處理單元格選擇的視圖控制器。選擇單元格默認情況下會更改單元格的顏色,但您可以更改它:在故事板中,選擇您的表格視圖的原型單元格,然後打開Xcode的實用程序窗格(右上角的按鈕)。在「表格視圖單元格」下找到可以設置爲「無」的「選擇」。
我希望這有助於!
相關問題
- 1. 什麼是消息傳遞?
- 2. 什麼是OOP中的消息傳遞?
- 3. 爲什麼JMS傳遞消息兩次?
- 4. 發送500K 64字節消息時,ZMQ的適當設置是什麼?
- 5. Google雲消息傳遞業務設置
- 6. 消息傳遞API的Swagger UI
- 7. 當消息可用時,JMS receiveNoWait()是否保證消息傳遞?
- 8. 谷歌雲消息傳遞的目的是什麼
- 9. QueueClient.Receive()傳遞的消息的順序是什麼?
- 10. html5適合IE6的功能是什麼?
- 11. 將JSON消息傳遞給適當的Ruby
- 12. 什麼是Rails的最佳消息傳遞插件?
- 13. Java OOP中的消息傳遞是什麼意思?
- 14. 什麼是Google雲消息傳遞(GCM)的AUTH-TOKEN?
- 15. 我們傳遞給MSPN服務的消息格式是什麼?
- 16. 爲什麼詳細的錯誤消息不會傳遞給HttpClient?
- 17. 爲什麼通過refrance傳遞在PHP中的通知消息?
- 18. 爲什麼constexpr不是所有功能的默認設置?
- 19. 爲消息傳遞/電子郵件應用程序設置數據庫的最佳方式是什麼?
- 20. Chrome擴展中異步消息傳遞的最佳設計模式是什麼?
- 21. Firebase雲消息傳遞是否被視爲消息代理?
- 22. 什麼是Objective C屬性(@property)賦值消息傳遞符號?
- 23. 適當的方式來傳遞C文件指針curl_easy_setopt功能
- 24. 使用FHIR的設備消息傳遞
- 25. 傳輸層的功能是什麼?
- 26. 在codeigniter中構建用戶到用戶消息傳遞功能的最佳方式是什麼?
- 27. 爲什麼我同時傳遞字符的功能用C
- 28. 在QuoteRequest消息中設置SenderSubID的最佳方式是什麼?
- 29. 傳遞什麼信息dispatch_queue_attr_t
- 30. 顯示「這是什麼?」當UITableViewController爲空時的消息
雖然主庫聲明爲DEPRECEATED,但您可以使用'JSQMessagesViewController',但社區真的很大,目前正在使用它。 https://github.com/jessesquires/JSQMessagesViewController –
@RatulSharker您可以在應用商店應用中使用棄用的代碼嗎? –
它只被開源發佈者棄用,它不是蘋果的SDK代碼。因此可以在沒有任何應用商店拒絕問題的情況下使用。 –