Post

Replies

Boosts

Views

Activity

Swift UI - LPLinkView expanding beyond view once the link is loaded
I am using LinkPresentation Framework for displaying rich links in a List in SwiftUI. On loading the link its getting clipped and moving out of the screen. import SwiftUI import LinkPresentation struct ContentView: View {     @State var redrawPreview = false     let links: [StringLink]  = [StringLink(id: UUID(), string: "https://www.youtube.com/watch?v=HXoVSbwWUIk"),                                  StringLink(id: UUID(), string: "https://www.youtube.com/watch?v=F2ojC6TNwws"),                                  StringLink(id: UUID(), string: "https://www.youtube.com/watch?v=bz6GTYaIQXU")]     var body: some View {         List(links) { l in             HStack {                 Image(systemName: "person.fill")                     .resizable()                     .scaledToFit()                     .frame(width: 40.0, height: 40.0)                 LinkRow(previewURL: URL(string: l.string)!, redraw: self.$redrawPreview)             }         }.environment(\.defaultMinListRowHeight, 50)     } } struct LinkRow : UIViewRepresentable {          var previewURL:URL     @Binding var redraw: Bool          func makeUIView(context: Context) - LPLinkView {         let view = LPLinkView(url: previewURL)                  let provider = LPMetadataProvider()         provider.startFetchingMetadata(for: previewURL) { (metadata, error) in             if let md = metadata {                 DispatchQueue.main.async {                     view.metadata = md                     view.sizeToFit()                     self.redraw.toggle()                 }             }             else if error != nil             {                 let md = LPLinkMetadata()                 md.title = "Custom title"                 view.metadata = md                 view.sizeToFit()                 self.redraw.toggle()             }         }                  return view     }          func updateUIView(_ view: LPLinkView, context: Context) {       } } struct StringLink : Identifiable{     var id = UUID()     var string : String }
2
1
1.2k
Feb ’21