html5仿苹果通讯录效果,SwiftUI 2.0 列表实现Alphabet风格仿通讯录效果(封装教程含代码)...

本文介绍了如何使用Swift封装UITableView,实现Alphabet风格的界面字母表动画效果。通过提供的代码示例,读者可以快速掌握如何修改items内容来创建自定义的字母索引列表。主要涉及UITableView的注册、数据源方法以及界面更新等关键步骤。
摘要由CSDN通过智能技术生成

本文价值与收获

看完本文后,您将能够作出下面的界面

b32f64f53cf99bd0ad0c3586868c3266.png

字母表风格

fabb4813d481ec18df8dd2088d5a8a77.gif

动画效果

看完本文您将掌握的技能

掌握封装UITableView技能

实现Alphabet风格界面

代码

1、基础使用

import UIKit

struct ContentView: View {

@State var items = ["中国人民银行","Audi", "Aston Martin","BMW", "Bugatti", "Bentley","Chevrolet", "Cadillac","Dodge","Ferrari", "Ford","Honda","Jaguar","Lamborghini","Mercedes", "Maruti", "Mazda","Nissan","Porsche","Rolls Royce","Toyota","Volkswagen"]

var body: some View {

VStack{

AlphabetView(items: self.$items)

}

}

}

struct ContentView_Previews: PreviewProvider {

static var previews: some View {

ContentView()

}

}

struct AlphabetView:UIViewControllerRepresentable {

@Binding var items:[String]

typealias UIViewControllerType = TableViewController

func makeUIViewController(context: Context) -> TableViewController {

let tv = TableViewController()

tv.cars = self.items

return tv

}

func updateUIViewController(_ uiViewController: TableViewController, context: Context) {

}

}

代码已经封装好了,每次只需修改items内容即可。

2、将下面代码也复制到项目中

```

import UIKit

class TableViewController: UITableViewController {

var carsDictionary = [String: [String]]()

var carSectionTitles = [String]()

var cars = [String]()

override func viewDidLoad() {

super.viewDidLoad()

self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")

// cars = ["Audi", "Aston Martin","BMW", "Bugatti", "Bentley","Chevrolet", "Cadillac","Dodge","Ferrari", "Ford","Honda","Jaguar","Lamborghini","Mercedes", "Maruti", "Mazda","Nissan","Porsche","Rolls Royce","Toyota","Volkswagen"]

indexingCars();

}

func indexingCars() {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值