好的!开发日程进入尾声,不过开发内容还没有 (×ω×)
果然是前几天太忙没有很多进度的後果,哭哭
现在已经可以有mock的对话内容了,接下来想要可以新增新的对话,因此我们在conversation主画面加上一个右上角的按钮,当按下按钮时,可以进行寻找使用者的功能。
navigationItem.rightBarButtonItem =
UIBarButtonItem(barButtonSystemItem: .compose,
target: self,
action: #selector(didTapComposeButton))
然後,针对selector
新增一个objc
的方法。
@objc private func didTapComposeButton() {
let vc = NewConversationViewController()
let navVC = UINavigationController(rootViewController: vc)
present(navVC, animated: true)
}
宣告一个新的view controller,在点选的时候,将新的controller显示出来。
好的~现在我们就来实作new conversation view controller的内容~~
首先引入相关函式库
import UIKit
import JGProgressHUD
class NewConversationViewController: UIViewController {
private let spinner = JGProgressHUD()
private let searchBar: UISearchBar = {
let searchBar = UISearchBar()
searchBar.placeholder = "Search for users"
return searchBar
}()
在最上方加入搜寻bar,提示文字注明为搜寻使用者。
private let tableView: UITableView = {
let table = UITableView()
table.isHidden = true
table.register(UITableViewCell.self,
forCellReuseIdentifier: "cell")
return table
}()
private let noResultLabel: UILabel = {
let label = UILabel()
label.isHidden = true
label.text = "No result"
label.textAlignment = .center
label.textColor = .green
label.font = .systemFont(ofSize: 21, weight: .medium)
return label
}()
当有资料时,就以table view的方式呈现,若没有的话,则以ui label说明没有相关的结果。
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
navigationController?.navigationBar.topItem?.titleView = searchBar
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Cancel",
style: .done,
target: self,
action: #selector(dismissSelf))
}
@objc private func dismissSelf() {
dismiss(animated: true, completion: nil)
}
}
最後我们给controller加一些设定、把search bar放入controller。
以及设定dismiss的功能。
如此一来搜寻的UI就完成了! 明天有机会的话可以实作接DB的部分!
加油呜呜,行百里者半九十~
若上述内容有误或可以改进的部分,欢迎留言以及提出任何指教~
谢谢 (´・∀・`)
>>: [Day24] Array methods 阵列操作方法(2)
所谓工欲善其事,必先利其器。 选择 Python 的理由又是什麽? 那我们得先从语言的特性及优缺点来...
前言 昨天我们介绍过如何使用 React.memo 与 useCallback 来做效能优化,而 u...
缘由: 对本科生或天资聪颖的人来说这问题真的没什麽,但对於初学者且还只有教科书程度的我,要我从一组复...
枚举就是列出有穷序列的型别 透过enum关键字新增了新的Browser型别在范例中列出了一个组项分别...
前言 上一篇介绍了数字型别、字串型别的隐含转型,接下来介绍剩余的隐含转行,剩余隐含转型大约分成以下三...