Stream for Mac - View Styles
When I finally kick Stream for Mac out the door it’s going to have two modes of viewing feeda. The first will be the Classic Timeline View. It’s the reason I created Stream in the first place. I wanted something that felt like a social media timeline. A continuous stream of news in a unified timeline, flowing from newest to oldest. It’s a very simple concept and one I think some folks appreciate.
Here’s what the Timeline view will look like on the Mac.
The second view style will be Blog View — at least I think that’s what I’ll call it? This view will be the view most folks associate with Feed Readers. It will have the three column, Mail like — view with Blogs in the leftmost column, a list of Posts in the middle (the Timeline), and the Post Reader on the right side.
I need to put Thunder Chicken down for a bit and focus on Stream for Mac because I have a lot of work to build out before I’ll feel good about shipping it. 😊
Sitting at
Is it that easy in SwiftUI? Probably, but I don’t currently understand how to change a simple boolean value and convince the UI to refresh itself. I thought, like a big dummy, that I could make a boolean value on the View, decorate it with @State, and by calling toggle() on it, it would cuase the UI to update. Nope. Didn’t work. 😳
This got me thinking about my choice to use SwiftUI for the table view cells. One thing about that choice is cell reuse is kind of strange. The only way I’ve been able to get them to draw properly is to make a new view, just the SwiftUI part, so it gets laid out properly. I’m fairly certain I could get this working by using SwiftUI’s state mechanism but I decided to try doing a proper cell using AppKit and hook up the constraints manually. I have the cell put together and was working on constraints when I ran out of time for the day.
I want to get back to the Mac version but it feels like so much work. I need to get my table view cells to behave properly. Perhaps I’ll punt on having the date attached to the right side of the cell and put it somewhere on the left just to make some progress today. 🤔
I’ve neglected