当前位置:   article > 正文

010_swiftui_复杂布局_swfit circle()

swfit circle()

用到的资源

效果展示

在使用swift_UI中有一些快捷操作

操作1 代码中快速新增布局

移动选中控件后 按住command键

然后弹出操作菜单 可以选中包裹布局让在外面快速添加一层布局

操作2 布局中快速新增代码

在ui中选中控件。按住command键,然后双击键盘左键就可以打开快速操作面板。也能在下面选中

Embed in HStack.或者VStack 在外层迅速包裹布局

也可以选中Show SwiftUi Inspector 来打开快捷操作面板

在这里进行图形化界面的操作。

修改文本,或者新增字体或者颜色或者居中方式

然后会自动生成代码到左边的代码区域

当然 你也可以使用操作3 最原生朴素的方法去添加一个Text或者HStack

点击+号后,然后选中控件 然后使用搜索。。搜到了以后拖拽到代码区域

 用哪个方式都行。。

好了下面进入代码环节。

因为前面基础部分讲了很多。所以就不重复讲了。精品博客就是这么任性

本代码算上ContentView.swift共使用了三个swfitUi文件 

第一个

CircleImage.swift

  1. //
  2. // CircleImage.swift
  3. // learnUi3
  4. //
  5. // Created by liuan on 2020/4/4.
  6. // Copyright © 2020 liuan. All rights reserved.
  7. //
  8. import SwiftUI
  9. struct CircleImage: View {
  10. var body: some View {
  11. Image("150")
  12. .clipShape(Circle())
  13. .overlay(Circle().stroke(Color.white,lineWidth: 2))
  14. .shadow(radius: 10)
  15. }
  16. }
  17. struct CircleImage_Previews: PreviewProvider {
  18. static var previews: some View {
  19. CircleImage()
  20. }
  21. }

第二个比较复杂,不要求掌握内容。知道大概就好 因为牵扯使用到了MapKit库,目前我们对他还是一无所知。重要的是学习布局。所以请忽略这个细节把

  1. //
  2. // MapView.swift
  3. // learnUi3
  4. //
  5. // Created by liuan on 2020/4/4.
  6. // Copyright © 2020 liuan. All rights reserved.
  7. //
  8. import SwiftUI
  9. import MapKit
  10. struct MapView: UIViewRepresentable {
  11. func makeUIView(context: UIViewRepresentableContext<MapView>) -> MKMapView {
  12. MKMapView()
  13. }
  14. func updateUIView(_ uiView: MKMapView, context: UIViewRepresentableContext<MapView>) {
  15. //put the code to update the uikit view
  16. let coordinate=CLLocationCoordinate2D(latitude: 34.011286, longitude: -116.166868)
  17. let span=MKCoordinateSpan(latitudeDelta: 2.0, longitudeDelta: 2.0)
  18. let region=MKCoordinateRegion(center: coordinate, span: span)
  19. uiView.setRegion(region, animated: true)
  20. }
  21. }
  22. struct MapView_Previews: PreviewProvider {
  23. static var previews: some View {
  24. MapView()
  25. }
  26. }

第三个就是核心了

  1. //
  2. // ContentView.swift
  3. // learnUi3
  4. //
  5. // Created by liuan on 2020/4/1.
  6. // Copyright © 2020 liuan. All rights reserved. ·
  7. //
  8. import SwiftUI
  9. struct ContentView: View {
  10. var body: some View {
  11. VStack {
  12. MapView()
  13. .frame(height: 300)
  14. .edgesIgnoringSafeArea(.top)
  15. CircleImage()
  16. .offset(y:-130)
  17. .padding(.bottom,-130)
  18. VStack(alignment: .leading) {
  19. Text("Turtle Rock")
  20. .font(.title)
  21. HStack {
  22. Text("Joshua Tree National Park")
  23. .font(.subheadline)
  24. Spacer()
  25. Text("California")
  26. .font(.subheadline)
  27. }
  28. }.padding()
  29. Spacer()
  30. }
  31. }
  32. }
  33. struct ContentView_Previews: PreviewProvider {
  34. static var previews: some View {
  35. ContentView()
  36. }
  37. }

在编写地图的时候写上经纬度后可以实时预览、前提是点击上面的播放按钮

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/906539
推荐阅读
相关标签
  

闽ICP备14008679号