Post

Replies

Boosts

Views

Activity

UICollectionViewCell custom subview doesn't receive focus
I created custom Poster view so it can be reused in multiple collection view cells (just like TVPosterView in TVUIKit). I add it directly to cell content view with all needed constraints. The problem is when cell is focused this subview doesn't receive focus update (didUpdateFocus..) so I cannot customize it's focused / unfocused constraints etc. It's odd btw that image view inside is getting floating effect. In case if I specify cell's preferredFocusEnvironments, the collection view delegate method didSelect not called! Thanks in advance for any help!
0
0
496
Jun ’20
SwiftUI rendering path optimisation for `let` values
Hello colleagues, I have question regarding passing data that doesn't need to change. In video suggested to use let, and it totally make sense! But I also found following issue: https://forums.raywenderlich.com/t/question-regarding-chapter-8-4/136398/2 I am wondering how to avoid rendering path optimisation to make sure it's not cached somewhere in between? Or was this something already fixed in prior SwiftUI versions? My example: struct ModelDetailsView { @ObservedObject var viewModel: ViewModel     @ViewBuilder     var body: some View {         ModelItemsSection(viewModel.$model.subitems) .onAppear(perform: {             self.viewModel.load()         })     } } struct ModelItemsSection: View {     let items: [ModelSubitem] // simple struct     var body: some View {                 PreviewItemsView(items: items, allItemsTitle: "All Items") { item in Text(item.titleDetail + item.subtitle)                 } allItemsView: { items in //3rd level screen where `let` data is passed that's destination to NavigationLink                     AllModelItemsView(items: items)                 }     } } Thanks, Dzmitry.
0
0
373
Sep ’21
Can NSInputStream.read(_:maxLength:) read less than maxLength even if more is available?
Can NSInputStream.read(_:maxLength:) return less bytes read even when more data available? I haven't found it in the docs Use-case: we pass maxLength = 512, but actual reading of 512 bytes will do in 2 rounds: 256 in first round + 256 in second. It's important for my use-case (encryption/decryption) not to have intermediate partial readings unless it's last "tail" part. Otherwise I might end-up encrypting different-length blocks & decryption will fail assuming different buffer length.
2
0
575
Jan ’22