I’ve been trying to recreate a typical nested scrolling content list UI. I want to build a vertical scrolling list of horizontally scrolling lists, similar to the App Store (seen below).
When nesting ScrollViews you will see strange errors like “Reparenting nested renderer host — preferences may be missing.” that I discussed more here. You need to constrain the ScrollView to a specific frame or layout dimension to avoid the old “Scroll View has ambiguous scrollable content height/width” error from UIScrollView.
Below, you can see that I constrain the inner horizontal ScrollView to a width (300) larger than its’ parent vertical ScrollView (200). This ensures that it will scroll horizontally.
I have not yet figured how to constrain a ScrollView using the .relativeSize options found here:
If anyone can find a better way to build something similar to a UICollectionViewFlowLayout using SwiftUI let me know on twitter!
While playing around with the new SwiftUI framework introduced at WWDC 2019 recently, I’ve found myself running into this error over and over :
Reparenting nested renderer host — preferences may be missing. at /BuildRoot/Library/Caches/com.apple.xbs/Sources/Monoceros_Sim/Monoceros-5.104/Core/ViewGraph.swift:685
While building more complex layouts in SwiftUI, I’m seeing this error repeated over and over in the console:
I don’t fully understand the error, but I’m starting to. …
One of the most interesting things to note though is the new 5.8 inch “Super-Retina” display. It has a screen resolution of 1125px × 2436px.
Designing for this beautiful machine will bring some new challenges, but also some new design opportunities.
What other questions do you have about the new features of the iPhone X? Our Medium collection is looking for authors and editors to contribute! Hit me up at Christopher Truman and on Twitter @iAmChrisTruman
To help myself and our community establish good design patterns, I am trying to share my thought process every time I build something in Swift for the first time. In my current project, we need to build something similar to a UIPageControl, but with icons. It will control a UIScrollView and advance to a certain ‘page’ in the scroll view. My design goal is to use Enums to represent the different icons AND to hide the ObjC #selector() implementation details.
Here is my first take on this:
PageControl is a Class that basically wraps a UIStackView full of UIButtons. It inherits from NSObject because it acts as a target for the UIButtons. …
I have recently started development on a completely new project and am trying to establish some new design patterns as I jump into Swift 3. One pattern that I am starting to use is Request & Response Models. That is the fancy name I came up with for Structs that document the backend API. Lets look at an example:
We have a protocol Request that specifies basically everything you want to know about making a request to an API.
Now, this is a story all about how. My life got flipped-turned upside down. A crazy journey from $8/hour to $100k+/yr.
I am far from a genius and I am not necessarily a “go-getter” who is “crushing it” everyday. I spent high school doing musical theater and spending time with friends, and spent college trying to figure out what I wanted to do in my career. I found myself barely making it through my second year of college with a ton of debt and no foreseeable career.
I must preface this with the fact that I had always been interested in technology and had a little experience previously. I loved video games and had spent much of my middle school years unsuccessfully trying to write code for my GameBoy Advance and Nintendo DS. I learned HTML through a community college class and began building websites for friends and family. I was able to make a bit of side money making websites during high school. I was always curious about learning more web technologies, but never really spent time researching or learning that much. I spent a lot of time messing around in Photoshop and Illustrator, but never got proficient. When I went to college, I got the MacBook Pro with the free iPod Touch deal. This was the first generation iPod touch and I immediately attempted to jailbreak it. Long story short, I began writing little bits of code for iOS and when the SDK came out, I dove in. I had a lot of free time at college and learned a lot about the iOS ecosystem. I found a few freelance jobs doing small apps and had a ton of fun building them. …
iOS 8 provides some incredible new features that apps can take advantage of. However, due to the sheer amount of new features and frameworks Apple released this year, there was bound to be bugs and issues. The Today view extensions are no exception. I was inspired by the Tumblr team’s post on issues with Share extensions to share the bugs and pitfalls you will face when building a Today Extension Widget.
Today widgets are meant to provide quick glanceable information. At WWDC we saw the example of ESPN’s sport scores. It has no buttons or settings. You configure favorite teams to track in the app, and the Today Widget is a simple summary view. Social networks may show recent communication, financial apps may show a summary of your accounts, and productivity apps may show recent to-do items. …
A tutorial on authenticating a user with their fingerprint in iOS 8
We can now sign in to our banks, social networks, and other apps with our fingers. This is the stuff of science fiction!
Touch ID was built into the iPhone 5S that was released in September 2013. At the Apple WWDC (World Wide Developer Conference) they announced that developers could now use Touch ID in their apps.
As you may remember, some developers looked into the private frameworks in iOS 7 and found a framework called BiometricsKit. …
Ideally, no one would write code that didn’t make the app/site/product better. Time spent writing code that isn’t creating a better user experience or bringing in more revenue is a loss. Useless code creates technical debt and wastes everyone’s time.
Obviously, engineers and product managers can’t see the future. They can’t plan the exact right features to avoid wasted engineer time. Despite this, it is essential to focus on defining a strong product roadmap. A poorly thought out roadmap will cause engineers to work on features that don’t improve anything. The lack of increased money/metrics will cause management to panic. They push the product team and engineers to work harder on product features that don’t matter. The company will continue to spin its wheels like this until everyone is out of energy and money. …
I have been told we are on the cusp of entirely new ways to interface with technology. I have been promised that an up and coming technology will be the next multi-touch. Some say the Myo armband, Google Glass, Leap Motion, Oculus Rift, or wearables like Nymi and a possible iWatch will save us from the barbaric practice of clicking mouses and tapping our screens (ew, fingerprints).
I propose that that there is an interface method that provides a way to access our technology, without fingers. It’s a technology that is already (mostly) socially acceptable, unlike Google Glass, Oculus VR, or waving your hands in front of a screen. …